【发布时间】:2015-12-10 11:40:27
【问题描述】:
我有以下适用于 Microsoft SQL Server 的 SQL
SELECT *
FROM tblA
WHERE CREATION_DATE BETWEEN DATE'2015-09-12' AND DATE'2015-09-15'
但这会引发语法错误:
错误:“2015-09-12”附近的语法不正确。 SQLState:S0001 错误代码: 102
怎么了?我想使用 ANSI 文字代码。
【问题讨论】:
-
列 creation_date 是否定义为日期数据类型?你能添加桌子的设计吗?可能你应该投。
-
SQL 服务器不支持 ANSI 日期文字,您需要将字符串文字转换为 DATE -
CAST('2015-09-12' AS DATE)。另外,take care when usingBETWEENwith dates -
@GarethD,但您可以使用像 {d'2015-09-12'} 和 {ts'2015-09-15 23:59:59'}这样的 ODBC 文字
标签: sql sql-server date select