sqlserver 时间测试

select * from GropBy where  [date] BETWEEN '2010-10' and '2015-10' --从字符串转换日期和/或时间时,转换失败。
select * from GropBy where  [date] between '2017-07-25 00:00:00' and  '2017-07-25 24:00:00'  --从字符串转换日期和/或时间时,转换失败。

select * from GropBy where  [datetime] BETWEEN '2010-10' and '2015-10' --从字符串转换日期和/或时间时,转换失败。
select * from GropBy where  [datetime] between '2017-07-25 00:00:00' and  '2017-07-25 24:00:00'  --从字符串转换日期和/或时间时,转换失败。


select * from GropBy where  [date] BETWEEN convert(datetime,'30-03-2011',105) and convert(datetime,'30-03-2015',105) --从字符串转换日期和/或时间时,转换失败。

select * from GropBy where [date] between GETDATE() and  '2017-07-25 24:00:00' --时间超出格式 24:00 


use test
select * from GropBy  --数据库存储的是2010-10-01 00:00:00:00
select (convert(datetime,'30-03-2011',105)) ---把字符串转换为时间

select 当前日期=convert(varchar(100),getdate(),120)  --把时间转化为字符串 --varchar(10)--截取前10位



select * from GropBy where  [datetime] BETWEEN '2010-10' AND '2015-10'  --出错原因是时间格式不对2015-10
select * from GropBy where [datetime] BETWEEN '2017-07-25 00:00:00' and  '2017-07-25 24:00:00' --出错时间格式不正确 原因是24:00 超出时间范围
select * from GropBy where [datetime] BETWEEN '2010-05-01 00:00:00' and  '2017-07-25 23:59:59' --可以用
select * from GropBy where 1=1  and [datetime] BETWEEN '2010-05-01' AND '2015-06-15' --可以用
select * from GropBy where [datetime] BETWEEN '2010-05-01' AND '2015-06-15' --可以用

猜你喜欢

转载自www.cnblogs.com/enych/p/9244575.html