Пользовательские операторы типа данных в Sql Server? - PullRequest
0 голосов
/ 21 августа 2009

В Sql Server 2008 они добавили новые типы данных DATE и TIME, дополняя DATETIME.
Я хотел объединить ДАТУ и ВРЕМЯ в DATETIME и подумал, что, может быть, очевидное сработает, и я мог бы сделать

SELECT DATEFLD + TIMEFLD FROM MYTABLE

и DATE + TIME вернут соответствующий DATETIME. К сожалению, это слишком очевидно, и не сработало. Поэтому мне интересно, есть ли у Sql Server какой-либо способ переопределить операторы, чтобы создать переопределение для «+» для обработки DATE + TIME => DATETIME.

1 Ответ

1 голос
/ 21 августа 2009

CAST к smalldatetime первым

DECLARE @d date, @t time

SELECT @d = getdate(), @t = getdate()

SELECT cast(@d as smalldatetime) + cast(@t as smalldatetime)

Я не могу вспомнить, где я это видел, и я не помню, почему. извините

SQL не обеспечивает перегрузки, к счастью ...

...