问题:
我需要 使用ODBC转义序列 仅获取DATE(=日期,无时间)。
然而
SELECT {fn CONVERT(SomeTable.Col_With_DateTime_Value, SQL_DATE)} FROM SomeTable
确实将列作为datetime值(date WITH time)返回。
是否有任何 ODBC功能 我可以用得到的 日期 值 只 ?
注意: 这不是重复的问题。 我知道可以使用 非 -ODBC转换功能,例如
CONVERT(char(8), getdate(), 112) AS v112_ISO CONVERT(char(10), getdate(), 104) AS v104_XML
但出于兼容性原因,我确实需要 ODBC 函数。
您可以使用此:
select {fn convert({fn timestampdiff(SQL_TSI_DAY, 0, DatetimeCol)}, SQL_DATE)} from SomeTable
在我可以测试的环境中运行(SQL Server 2000-2012)。
更新:
我认为这是另一种比使用convert更快的方法。
select {fn timestampadd(SQL_TSI_DAY, {fn timestampdiff(SQL_TSI_DAY, 0, DatetimeCol)}, 0)} from SomeTable