str_to_date function in sql server?

喜夏-厌秋 提交于 2020-01-03 13:07:23

问题


MySQL has a function called STR_TO_DATE, that converts a string to date.

Question:

Is there a similar function in SQL Server?


回答1:


If you need to parse a particular format, use CONVERT(datetime, @mystring, @format). Use this as a reference: http://www.sqlusa.com/bestpractices/datetimeconversion/




回答2:


What if the string is 7/7/2010?

Then use CONVERT with either 101 (mm/dd/yy) or 103 (dd/mm/yy) depending on what you want:

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

Result:

2010-07-07



回答3:


Use CAST.

declare @MyString varchar(10)
declare @MyDate datetime

set @MyString = '2010-08-19'
set @MyDate = cast(@MyString as datetime)
select @MyDate



回答4:


CAST(<string> AS DATETIME)



回答5:


Here is a good example:

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

This is what you get, depending on 101 or 103 or 6:

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

A good summary of types of dates is here - https://www.w3schools.com/sql/func_convert.asp




回答6:


On MSSQL: select cast('2012/06/12 10:32AM' as datetime);

You will get it: 2012-06-12 10:32:00.000



来源:https://stackoverflow.com/questions/3525593/str-to-date-function-in-sql-server

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!