проблема с преобразованием текста во время в SQL Server 2008? - PullRequest
0 голосов
/ 24 января 2010

У меня есть это Ttime как nvarchar (10): "09:52:48", и у меня есть TmpTime как дата

и я пытаюсь преобразовать это так: «ОБНОВЛЕНИЕ МУЖЧИН НАСТРОЕН TmpTime = CONVERT (DATETIME, Ttime, 108)»

и я получаю TmpTime это: "1900-01-01"

почему?

заранее благодарен

Ответы [ 2 ]

1 голос
/ 24 января 2010

Если у вас также есть поле даты, вы должны объединить их, прежде чем разыграть:

CREATE TABLE #Sample ( DateField varchar(10), TimeField varchar(10) );
GO

INSERT INTO  #Sample VALUES ('2009-01-24', '09:52:48');
SELECT CONVERT(DATETIME, DateField + ' ' + TimeField) as Converted FROM #Sample

И вы получите:

Converted
-----------------------
2009-01-24 09:52:48.000
0 голосов
/ 24 января 2010

У вас есть столбец, определенный как «дата», а затем вы отправляете в него только значение времени

Часть даты по умолчанию равна нулю, что на 01 января 1900 года в SQL (в CONVERT). Тогда время для столбца даты игнорируется.

Что вы ожидаете?

(То же самое может произойти, независимо от того, используете ли вы CONVERT или нет, потому что в столбце «дата»)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...