9

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

到目前为止,我有以下不起作用

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

我也试过

convert(date_started as datetime, 103)

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

4

5 回答 5

21

我想你是这样的:

CONVERT(datetime, date_as_string, 103)

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

CONVERT(varchar, date_as_datetime, 103)
于 2013-10-11T10:02:39.757 回答
0

试试这个代码:

CONVERT(varchar(15), date_started, 103)
于 2013-10-11T09:54:28.247 回答
0

我认为更准确的是这种语法:

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

我添加 SELECT 和 GETDATE() 用于即时测试目的:)

于 2017-06-28T13:26:45.973 回答
0

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

于 2017-11-14T16:34:20.437 回答
0

你可以这样做:

SELECT convert(datetime, convert(date, '27-09-2013', 103), 103) 
于 2019-03-12T07:18:47.940 回答