如何使用ODBC函数将datetime转换为日期?

时间:2012-03-29 09:24:13

标签: sql sql-server postgresql datetime odbc

问题:

我需要使用ODBC转义序列来获取DATE ONLY(=没有时间的日期)

然而

SELECT 
     {fn CONVERT(SomeTable.Col_With_DateTime_Value, SQL_DATE)}
FROM SomeTable

会将列作为日期时间值(日期与时间)返回。

是否有 ODBC功能我可以使用日期

注意:
这不是一个重复的问题。
我知道可以使用 -ODBC转换功能,比如

CONVERT(char(8),  getdate(), 112) AS v112_ISO  
CONVERT(char(10), getdate(), 104) AS v104_XML  

但出于兼容性原因,我确实需要 ODBC 功能。

2 个答案:

答案 0 :(得分:5)

你可以用这个:

select {fn convert({fn timestampdiff(SQL_TSI_DAY, 0, DatetimeCol)}, SQL_DATE)}
from SomeTable

适用于我可以测试的环境(SQL Server 2000-2012)。

<强>更新

我认为这是另一种比使用转换更快的方式。

select {fn timestampadd(SQL_TSI_DAY, {fn timestampdiff(SQL_TSI_DAY, 0, DatetimeCol)}, 0)} 
from SomeTable

答案 1 :(得分:-2)

select cast(day(getdate()) as varchar(2))+'/'+cast(month(getdate()) as varchar(2))+'/'+cast(year(getdate()) as varchar(4))

SELECT CONVERT(VARCHAR(10),GETDATE(),111)