sql怎么写查询最后一天的记录?
- 提问者网友:我是女神我骄傲
- 2021-03-08 18:12
- 五星知识达人网友:躲不过心动
- 2021-03-08 18:48
select * from tableName where
shijian=(
select max(shijian) from tableName);
- 1楼网友:轻雾山林
- 2021-03-08 19:17
我写了下面的语句供你参考,
涉及到的内容:
1、cast() 数据类型转换
2、转义字符 (''),两个单引号代表一个单引号
3、while 循环
4、union all 查询连接
declare @day int declare @month int declare @year int declare @date_string varchar(20)
declare @checktime_start datetime declare @checktime_end datetime
declare @sql varchar(2048)
set @year = 2009 set @month = 2 set @sql = '' while(@month<=12) begin select @date_string = cast(@year as varchar)+'-'+cast(@month as varchar)+'-'+'01' set @date_string = cast(@date_string as datetime) set @checktime_end = dateadd(day,-1,@date_string) set @checktime_start = dateadd(day,-2,@date_string)
--在这个地方写你要查询的内容[table]是你的表,[date]是时间列,还有别的条件你自己加 set @sql = @sql + 'select * from [table] where [date] between '''+cast(@checktime_start as varchar(16))+''' and '''+ cast(@checktime_end as varchar(16))+ ''' union all ' set @month = @month +1 end set @sql = @sql + 'select * from [table] where [date] between ''12 30 2009 12:00am'' and ''12 31 2009 12:00am''' --print(@sql) exec @sql
这个是按你要求只查询2009年的记录,假如你要查2005到2009,你在while循环外面再加个对年的循环。