急救在SQL语句中用DATEPART提取分钟,老是不对

xbxsoft 2006-02-18 03:11:38
SELECT *
FROM my_data
WHERE (checked = 0) AND (CONVERT(varchar(13), start_time, 120) = CONVERT(varchar(13),
GETDATE(), 120)) AND (DATEPART([minute], GETDATE()) < 30)
ORDER BY NEWID()
要对同1天同1个小时内前30分钟的数据进行随机排序,用(DATEPART([minute], GETDATE()) 提取分钟然后跟30比较,却把所有同一个小时内的数据都筛选出来了。但我改成DATEPART([Hour], GETDATE()) <10 却能正确的把小于10点前的数据筛选出来。 怎么才能正确的30分钟前的数据筛选出来了??
...全文
85 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
竹林听雨2005 2006-02-18
  • 打赏
  • 举报
回复
路过,帮顶
zhanghongwen 2006-02-18
  • 打赏
  • 举报
回复
UP
八哥 2006-02-18
  • 打赏
  • 举报
回复
datepart(mi,getdate())
xbxsoft 2006-02-18
  • 打赏
  • 举报
回复
汗 DATEPART([minute], start_time) < 30 是没办法真确筛选出分钟小于30的数据的。
poolnet 2006-02-18
  • 打赏
  • 举报
回复
SELECT *
FROM my_data
WHERE (checked = 0) AND (datediff(Hour,start_time,getdate())=0) AND (DATEPART([minute], start_time) < 30)
ORDER BY NEWID()

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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