0

我在表中有一个varchar列,其中包含如下所示的数据:

2010-06-24-00.00.00.000000

我需要将其转换为Date如下所示:

6/24/2010

使用 T-SQL。我怎样才能做到这一点?我正在使用 SQL Server 2012。

这是什么日期格式?2010-06-24-00.00.00.000000

4

3 回答 3

2

您可以使用 FORMAT 功能:

FORMAT(datefield,'MM/dd/yyyy')

但是,由于它是一个 VARCHAR,要使用 FORMAT 函数,您必须首先将日期部分转换为日期:

FORMAT(CAST(LEFT(stringdatefield,10) AS DATE),'MM/dd/yyyy')
于 2013-06-26T19:22:28.480 回答
1
select convert(date, left('2010-06-24-00.00.00.000000', 10))
于 2013-06-26T19:36:14.620 回答
0

您可以向转换函数添加可选参数。如果您希望结果为字符串,只需执行以下操作:

CONVERT(varchar(8),datefield,1)

如果您希望结果为 DATE 类型,请将其强制转换:

CAST(CONVERT(varchar(8),datefield,1) as DATE)
于 2013-06-26T19:31:55.587 回答