有谁知道我将必须更改以下内容才能使用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”收到的日期时。最好将它们原样传递给数据库。
任何指针表示赞赏。
使用:
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。