我有一个包含MobileNo
和RequestTime
的数据表,有两行包含移动设备号和日期。我想用当前日期获取所有记录
SELECT *
FROM Requester
WHERE (Convert(datetime, RequestTime, 103)) = GETDATE()
我将datetime作为字符串,所以我需要在SQL中将其转换为DateTime
,但结果仍为null
查看SQL Server中的代码和结果
答案 0 :(得分:0)
您为转化选择的日期时间样式是正确的,但这不起作用,因为GetDate()
还为您提供当前时间,而您的存储日期不是。因此,平等不可能是真的。
您需要截断比较日期的时间才能使其有效。
答案 1 :(得分:0)
SELECT CONVERT(DATETIME, '21/10/2015', 103)
返回:2015-10-20 00:00:000.000
SELECT GETDATE()
返回:2015-10-20 16:42:01.154
- 获取当前时间
你可以尝试这样的代码:
WHERE CONVERT(DATETIME, RequestTime, 103) = CONVERT(DATETIME, CAST(GETDATE() AS DATE), 103)
答案 2 :(得分:0)
请试试这个:
SELECT REQUESTERMOBILE,REQUESTTIME
FROM REQUESTER
WHERE CONVERT(DATE,CONVERT(DATETIME,REQUESTTIME),103) = CONVERT(DATE,GETDATE(),103)