2015-10-09 3 views
0

Тем не менее относительно новой для языка SQL и нужно немного помочь и руководство ..Преобразование полной даты в DateTime в SQL Server

У меня есть таблица, которая имеет дату в этом формате (2015-09-09 00: 00:00), но код, который я написал тянет дату, как это (21 Sep 2015 12:00 утра), я хотел бы дату, чтобы отразить, как это (2015-09-09 00:00:00)

UPDATE table1 
SET [Column 0] = (SELECT CAST(RIGHT(LEFT([Column 1], CHARINDEX('; EndTime', [Column 1]) -1), 19) AS DATETIME) AS Date 
        FROM table1 
        WHERE [Column 1] LIKE '%StartTime=%') 

Любая помощь/руководство были бы очень благодарны

+1

Какой ** бетона ** РСУБД это? Добавьте тег, чтобы указать, используете ли вы 'mysql',' postgresql', 'sql-server',' oracle' или 'db2' - или что-то еще. –

+0

Вы возвращаете значение 'datetime', оно не имеет никакого формата. Он получает формат, когда вы используете значение и превращаете его в строку, поэтому вам следует изменить способ форматирования, а не форматировать его в базе данных. – Guffa

ответ

0

Сохранение значения в поле времени даты на SQL-сервере означает, что SQL будет автоматически преобразовывать его в формат по умолчанию для вашей установки. После этого запрос будет иметь согласованный формат.

+0

На самом деле: SQL Server хранит 'DATETIME' как 8-байтовое ** двоичное значение **, которое ** не имеет никакого формата ** вообще ... –

+0

Разве это не шестнадцатеричный? Использование задачи сгенерированных скриптов в дате даёт обратную шестнадцатеричную строку, однако, возможно, мы переходим к деталям? Я просто предлагал писать на стол, это хороший способ представления последовательных результатов –

0

Вот ваш ответ

SELECT CONVERT(VARCHAR(10), YourDateColumnName, 120)+ ' ' + CONVERT(VARCHAR(8), YourDateColumnName, 108) 

Счастливый Coding