这个问题可能重复,但我已经尝试了其他问题的所有答案,但没有一个答案确实有帮助。
我试图将日期时间值与静态值进行比较(我需要每个记录的日期大于1/1/2016)
CREATE PROCEDURE Cursusoverzicht as
SELECT tblBijeenkomst.bijeenkomstdatum, tblCursussen.cursus_id, tblCursussen.cursustitel
FROM tblCursussen
INNER JOIN [dbo].[tblCursusDocenten] on [dbo].[tblCursusDocenten].[cursus_id] = [dbo].[tblCursussen].[cursus_id]
INNER JOIN [dbo].[tblBijeenkomst] on [dbo].[tblBijeenkomst].[docent_id] = [dbo].[tblCursusDocenten].[docent_id]
WHERE tblBijeenkomst.bijeenkomstdatum > '2016/1/1 00:00:00:000'
这会保留0条记录,任何人都知道吗?
对不起荷兰名字
答案 0 :(得分:0)
尝试将日期时间的格式调整为2016-01-01 00:00:00.000。这是SQL Server的默认格式。
您可以使用GETDATE()功能自行测试。这会将当前日期和时间返回为DATETIME。
SELECT
GETDATE() AS FormatTest
;
返回
FormatTest
----------------
2016-01-29 10:40:20.567
答案 1 :(得分:0)
您可以格式化此条件的日期时间
WHERE tblBijeenkomst.bijeenkomstdatum > CONVERT(DATETIME, 'YOUR DATE EXPRESSION', STYLE)
对于STYLE
参数,您必须看到:https://msdn.microsoft.com/es-es/library/ms187928.aspx#Anchor_4
例如:
CONVERT(DATETIME, '15.01.01', 2)
答案 2 :(得分:0)
看来你几乎就在那里:
CREATE PROCEDURE Cursusoverzicht as
SELECT tblBijeenkomst.bijeenkomstdatum
,tblCursussen.cursus_id
,tblCursussen.cursustitel
FROM tblCursussen
INNER JOIN [dbo].[tblCursusDocenten]
on
[dbo].[tblCursusDocenten].[cursus_id]
= [dbo].[tblCursussen].[cursus_id]
INNER JOIN [dbo].[tblBijeenkomst]
on
[dbo].[tblBijeenkomst].[docent_id]
= [dbo].[tblCursusDocenten].[docent_id]
and tblBijeenkomst.bijeenkomstdatum >
CONVERT (date, '2016-01-01T00:00:00:000')