小编典典

SQL Server 2005中的to_date

sql

有谁知道我将必须更改以下内容才能使用ms sql?

WHERE registrationDate between to_date ('2003/01/01', 'yyyy/mm/dd')
AND to_date ('2003/12/31', 'yyyy/mm/dd');

我读到的内容暗示我将不得不使用DATEPART()构造它,这可能会变得很漫长。尤其是当目标是比较以以下格式“ 2003-12-30
10:07:42”收到的日期时。最好将它们原样传递给数据库。

任何指针表示赞赏。


阅读 188

收藏
2021-03-17

共1个答案

小编典典

使用:

WHERE registrationdate BETWEEN '01/01/2003' AND '12/31/2003'

…但正如gbn所指出的,为了确保语言环境安全-请使用:

WHERE registrationdate BETWEEN '20030101' AND '20031231'

SQL
Server将执行字符串的隐式转换为日期(如果它是受支持的格式)。显式转换是当您必须使用CAST或CONVERT更改数据类型时。

将“ 01/01/2003”转换为DATETIME时,由于未指定时间部分,因此该时间部分为00:00:00。

2021-03-17