Подтвердить что ты не робот

Как преобразовать строку на сегодняшний день T-SQL?

Как преобразовать String в Date в T-SQL?

Мой тестовый пример - строка: '24.04.2012'

4b9b3361

Ответ 1

CONVERT(datetime, '24.04.2012', 104)

Должен сделать свое дело. Смотрите здесь для получения дополнительной информации: CAST и CONVERT (Transact-SQL)

Ответ 3

Предполагая, что база данных MS SQL Server 2012 или выше, вот решение, которое работает. Базовый оператор содержит встроенный трип-анализ:

SELECT TRY_PARSE('02/04/2016 10:52:00' AS datetime USING 'en-US') AS Result;

Вот что мы реализовали в рабочей версии:

UPDATE dbo.StagingInputReview
 SET ReviewedOn = 
     ISNULL(TRY_PARSE(RTrim(LTrim(ReviewedOnText)) AS datetime USING 'en-US'), getdate()),
 ModifiedOn = (getdate()), ModifiedBy = (suser_sname())
 -- Check for empty/null/'NULL' text
 WHERE not ReviewedOnText is null 
   AND RTrim(LTrim(ReviewedOnText))<>''
   AND Replace(RTrim(LTrim(ReviewedOnText)),'''','') <> 'NULL';

Столбцы ModifiedOn и ModifiedBy предназначены только для внутреннего отслеживания базы данных.

Смотрите также эти ссылки Microsoft MSDN:

Ответ 4

Хотя работа CONVERT работает, вы фактически не должны ее использовать. Вы должны спросить себя, почему вы разбираете строковые значения в SQL-Server. Если это одноразовое задание, в котором вы вручную исправляете некоторые данные, вы не получите эти данные в другой раз, это нормально, но если какое-либо приложение использует это, вы должны что-то изменить. Лучшим способом было бы использовать тип данных "дата". Если это пользовательский ввод, это еще хуже. Затем сначала нужно выполнить проверку клиента. Если вы действительно хотите передавать строковые значения, где SQL-Server ожидает дату, вы всегда можете использовать ISO-формат ( "YYYYMMDD" ), и он должен автоматически преобразовываться.

Ответ 5

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

SELECT CONVERT(datetime, '24.04.2012', 103) AS Date

Ссылка: CAST и CONVERT (Transact-SQL)

Ответ 6

CONVERT(DateTime, ExpireDate, 121) AS ExpireDate

сделает то, что необходимо, результат:

2012-04-24 00:00:00.000