функция str_to_date на сервере sql? - PullRequest
4 голосов
/ 19 августа 2010

MySQL имеет функцию с именем STR_TO_DATE, которая преобразует строку в дату .

Вопрос:

Есть ли аналогичная функция в SQL Server?

Ответы [ 6 ]

5 голосов
/ 19 августа 2010

Что если строка 7/7/2010?

Затем используйте CONVERT с 101 (мм / дд / гг) или 103 (дд / мм / гг) в зависимости от того, что вы хотите:

SELECT CONVERT(DATE, '7/7/2010', 103)

Результат:

2010-07-07
5 голосов
/ 19 августа 2010

Если вам нужно разобрать определенный формат, используйте CONVERT(datetime, @mystring, @format).Используйте это как ссылку: http://www.sqlusa.com/bestpractices/datetimeconversion/

2 голосов
/ 19 августа 2010

Использование CAST .

declare @MyString varchar(10)
declare @MyDate datetime

set @MyString = '2010-08-19'
set @MyDate = cast(@MyString as datetime)
select @MyDate
1 голос
/ 20 июля 2017

Вот хороший пример:

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

1 голос
/ 19 августа 2010
CAST(<string> AS DATETIME)
0 голосов
/ 23 июня 2017

На MSSQL: выберите приведение («2012/06/12 10:32 AM» в качестве даты и времени);

Вы получите его: 2012-06-12 10: 32: 00.000

...