Как преобразовать дату и время в дату с помощью функции ODBC? - PullRequest
3 голосов
/ 29 марта 2012

Вопрос:

Мне нужно получить ТОЛЬКО ДАТУ (= дата без времени) с escape-последовательностью ODBC .

Однако

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

возвращает столбец как значение даты и времени (дата с временем).

Существует ли какая-либо функция ODBC , которую я могу использовать, чтобы получить дату значение только ?

Примечание:
Это не повторяющийся вопрос.
Я знаю, что можно использовать функцию преобразования non -ODBC, например

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

но мне действительно нужна функция ODBC для совместимости.

Ответы [ 2 ]

5 голосов
/ 29 марта 2012

Вы можете использовать это:

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
0 голосов
/ 29 марта 2012
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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...