我在表格中有一个varchar
列,其中包含如下所示的数据:
2010-06-24-00.00.00.000000
我需要将其转换为Date
,如下所示:
6/24/2010
使用T-SQL。我怎样才能做到这一点?我正在使用SQL Server 2012。
这是什么日期格式? 2010-06-24-00.00.00.000000
答案 0 :(得分:2)
您可以使用FORMAT功能:
FORMAT(datefield,'MM/dd/yyyy')
但是,因为它是一个VARCHAR,要使用FORMAT函数,你必须首先将日期部分作为日期CAST:
FORMAT(CAST(LEFT(stringdatefield,10) AS DATE),'MM/dd/yyyy')
答案 1 :(得分:1)
select convert(date, left('2010-06-24-00.00.00.000000', 10))
答案 2 :(得分:0)
您可以向convert函数添加可选参数。如果您希望结果为字符串,只需执行以下操作:
CONVERT(varchar(8),datefield,1)
如果您希望结果为DATE类型,请将其强制转换为:
CAST(CONVERT(varchar(8),datefield,1) as DATE)