6

MySQL 有一个名为STR_TO_DATE 的函数,它将字符串转换为 date

问题:

SQL Server 中是否有类似的功能?

4

6 回答 6

9

如果您需要解析特定格式,请使用CONVERT(datetime, @mystring, @format). 以此作为参考:http ://www.sqlusa.com/bestpractices/datetimeconversion/

于 2010-08-19T19:43:56.147 回答
7

如果字符串是 2010 年 7 月 7 日怎么办?

然后根据您的需要使用 CONVERT 和 101 (mm/dd/yy) 或 103 (dd/mm/yy):

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

结果:

2010-07-07
于 2010-08-19T19:46:17.067 回答
2

使用CAST

declare @MyString varchar(10)
declare @MyDate datetime

set @MyString = '2010-08-19'
set @MyDate = cast(@MyString as datetime)
select @MyDate
于 2010-08-19T19:44:23.727 回答
1
CAST(<string> AS DATETIME)
于 2010-08-19T19:42:15.183 回答
1

这是一个很好的例子:

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))

这就是你得到的,取决于101or1036

09/06/2017 -- 06/09/2017 -- 06 Sep 17

日期类型的一个很好的总结在这里 - https://www.w3schools.com/sql/func_convert.asp

于 2017-07-20T11:49:23.520 回答
-1

在 MSSQL 上:选择 cast('2012/06/12 10:32AM' as datetime);

你会得到它:2012-06-12 10:32:00.000

于 2017-06-23T09:10:28.003 回答