sql语句中日期时间类型怎么比较?

db2notes 2009-08-13 01:14:19
数据库中有这样的2009-8-12 13:17:50 数据记录

现在select * from table1 where date>'2009-8-12 13:17:50'
和select * from table where date>#2009-8-12 13:17:50#都通不过

盼高人指点一二
...全文
11973 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
w11x22b33 2009-08-13
  • 打赏
  • 举报
回复
oracle:
select * from table1 where date>to_date('2009-8-12 13:17:50','yyyy-mm-dd')
db2:
select * from table1 where date>date('2009-8-12 13:17:50','yyyy-mm-dd')
guguda2008 2009-08-13
  • 打赏
  • 举报
回复
DATEDIFF
CAST
CONVERT
还可以用YEAR(),MONTH(),DAY(),或者DATEPART()分别取各个部分进行判断
ys_pqy 2009-08-13
  • 打赏
  • 举报
回复
专家回答的速度真是快啊
  • 打赏
  • 举报
回复
select * from table1 where date>'2009-8-12 13:17:50'
如果date是datetime的话,应该可以直接比较的。
  • 打赏
  • 举报
回复
datediff or dateadd 搞定
SQL77 2009-08-13
  • 打赏
  • 举报
回复
select * from table1 where CONVERT(DATETIME,date)>'2009-8-12 13:17:50' 
db2notes 2009-08-13
  • 打赏
  • 举报
回复
呵呵,谢谢!
--小F-- 2009-08-13
  • 打赏
  • 举报
回复
--TRY
select * from table1 where cast(date as datetime)>'2009-8-12 13:17:50'
db2notes 2009-08-13
  • 打赏
  • 举报
回复
除了用datediff还有其他方法吗?
--小F-- 2009-08-13
  • 打赏
  • 举报
回复
select 
*
from
table1
where
datediff(mm,'2009-8-12 13:17:50', date)>0

DATEDIFF
返回跨两个指定日期的日期和时间边界数。

语法
DATEDIFF ( datepart , startdate , enddate
feixianxxx 2009-08-13
  • 打赏
  • 举报
回复
select * from table1 
where datediff(ms,'2009-8-12 13:17:50', date)>0
feixianxxx 2009-08-13
  • 打赏
  • 举报
回复
select * from table1 
where datediff(mm,'2009-8-12 13:17:50', date)>0

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧