Функция str_to_date на сервере sql?
В MySQL есть функция STR_TO_DATE, которая преобразует строку в дату.
Вопрос:
Есть ли аналогичная функция в SQL Server?
6 ответов
Если вам нужно разобрать определенный формат, используйте CONVERT(datetime, @mystring, @format)
, Используйте это как ссылку: http://www.sqlusa.com/bestpractices/datetimeconversion/
Что делать, если строка 7/7/2010?
Затем используйте CONVERT с 101 (мм / дд / гг) или 103 (дд / мм / гг) в зависимости от того, что вы хотите:
SELECT CONVERT(DATE, '7/7/2010', 103)
Результат:
2010-07-07
Используйте CAST.
declare @MyString varchar(10)
declare @MyDate datetime
set @MyString = '2010-08-19'
set @MyDate = cast(@MyString as datetime)
select @MyDate
Вот хороший пример:
declare @myDate datetime
set @myDate = '06/09/2017'
select concat(convert(varchar(20), @myDate,101), ' -- ',
convert(varchar(20), @myDate,103), ' -- ',
convert(varchar(20), @myDate,6))
Это то, что вы получаете, в зависимости от 101
или же 103
или же 6
:
09/06/2017 -- 06/09/2017 -- 06 Sep 17
Хорошее резюме типов дат здесь - https://www.w3schools.com/sql/func_convert.asp
На MSSQL: выберите приведение ("2012/06/12 10:32AM" в качестве даты и времени);
Вы получите: 2012-06-12 10:32:00.000