❶ sql里时间怎么比较
1\如果是指90天
select *
from table
where datediff(day,time,getdate())<=90
或者
select *
from table
where time>=dateadd(day,-90,getdate())
2\如果是3月
select *
from table
where time>=dateadd(month,-3,getdate())
3\如果是当前月往前推两个自然月的1号算起
select *
from table
where time>=Dateadd(mm,datediff(mm,0,getdate())-2,0)
❷ sql中如何判断时间大小呢 急!
时间要有单引号的,不然实际执行的是算术运算
select * From Book where EditionDate>(2001-1-1) 等同于
select * From Book where EditionDate>1999
1999可以隐式转换为日期,所以有结果。
正确写法是
select * From Book where EditionDate>'2001-1-1' and EditionDate<'2008-12-31'
❸ SQL中if语句判断时间怎么写
建议这种逻辑在代码中写,不要增加数据库负担
非要写在sql里面可以用case when:
case when (tm > '7:00' and tm < '10:30') then "早上" else case when (tm > '10:30' and tm < '15:00') then "中午" else case when(tm > '17:00' and tm < '21:00') then "晚上" end end end
❹ sql语句判断时间区间的问题
1、首先,我们来定义一个时间字段的参数,暂且命名为Date,语句为:declare @Date datetime。
❺ sql对时间段判断语句
这个是SQL中的判断语句,你可以使用CASE……WHEN……
SELECTto_char(a.attdate,'yyyy-mm-dd')ASdate,--使用日期
(CASEWHENa.attdate<'2013-7-1'THEN'甲'ELSE'乙'END)ASperson--使用人
FROMa,b
--Ps:SQL的关键字使用大写是一个好的习惯。
❻ sql中,怎么对时间进行比较
这个估计是日历时间,一般就是从January 1, 1970, UTC午夜开始到现在所经过的秒数
你可以用DATEADD函数在秒上加上这个数来把它转化为它对应的datetime类型所表示的时间
比如:
select DATEADD(ss, 1257322946, '1970-1-1 00:00:00')
返回
-----------------------
2009-11-04 08:22:26.000
(1 row(s) affected)
❼ sql server怎么判断一个时间是在某一时间段
select * from 表 where 日期字段=【开始日期】and 日期字段=【截止日期】。
and convert(char(8),日期字段,108)=【开始时间】and convert(char(8),日期字段,108)<=【截止时间】。
❽ sql server时间判断语句
SELECT
CASE WHEN 时间字段 is null THEN GETDATE()
ELSE 时间字段 END
FROM Table_A
❾ 判断时间的sql语句
select A,B, case when convert(int,A)-convert(int,B)>0 then 'Y' else 'N' end from Table
❿ sql语句日期判断问题
10年前这里有3种意思,
1、10年前的那一年
select * from 表 where datediff(year,日期字段,'1999-11-25')=10
2、10年前的那一天
select * from 表 where datediff(day,日期字段,dateadd(year,-10,'1999-11-25'))=0
3、10年以前的所有年份
select * from 表 where datediff(year,日期字段,'1999-11-25')>=10