将varchar dd / mm / yyyy转换为dd / mm / yyyy datetime

时间:2013-10-11 09:52:08

标签: sql-server sql-server-2008 tsql date datetime

我正在尝试将varchar格式的dd/mm/yyyy列中的日期转换为日期时间dd/mm/yyyy格式,以便我可以对数据运行日期范围查询。< / p>

到目前为止,我有以下哪些无效

CONVERT(varchar, CAST(date_started AS datetime), 103)

我也试过

convert(date_started as datetime, 103)

我需要确保输出与我们在英国的dd/mm/yyyy一样,而不是mm/dd/yyyy格式

5 个答案:

答案 0 :(得分:21)

我想你是在追求这个:

CONVERT(datetime, date_as_string, 103)

请注意,datetime没有任何格式。你想一想它的演示。要以适当的格式获取datetime的数据,您可以使用

CONVERT(varchar, date_as_datetime, 103)

答案 1 :(得分:0)

试试这段代码:

CONVERT(varchar(15), date_started, 103)

答案 2 :(得分:0)

我认为这种语法更准确:

SELECT CONVERT(CHAR(10), GETDATE(), 103)

我添加SELECT和GETDATE()以进行即时测试:)

答案 3 :(得分:0)

如果要返回格式mm / dd / yyyy,请使用101而不是103: CONVERT(VARCHAR(10),[MyDate],101)

答案 4 :(得分:0)

您可以这样做:

SELECT convert(datetime, convert(date, '27-09-2013', 103), 103)