繁体   English   中英

mm / dd / yy至今

[英]mm/dd/yy TO DATE

我正在使用SQL Server 2014,并且一直在尝试将其转换为:

ReceiveDate
07/01/15
07/02/15

到这个:

ReceiveDate
2015-07-01
2015-07-02

我尝试过:

try_convert(date,SRD.ReceiveDate,103)
try_convert(date,SRD.ReceiveDate,101)

有什么建议吗?

尝试这个:

select convert(varchar(10), SRD.ReceiveDate, 120) 

答案是:

try_convert(date,SRD.ReceiveDate,1)

您引用的格式数字与输入不匹配,这是相关的数字值和日期格式:

1   - mm/dd/yy
101 - mm/dd/yyyy
103 - dd/mm/yyyy

并不是要作为一个答案 ,而是关于Xedni的评论,这是我使用的一些东西:

------ Convert Dates
;with cte as (
    Select Conv = N
          ,AsDateTime = try_convert(nvarchar(30),GetDate(),N)
          ,AsDate     = try_convert(nvarchar(30),convert(date,GetDate()),N)
          ,AsTime     = try_convert(nvarchar(30),convert(time,GetDate()),N)
     From  (Select Top 200 N=Row_Number() Over (Order By (Select NULL)) From master..spt_values ) N
)
Select * 
 From  cte
 Where AsDateTime is not null 
    or AsDate     is not null 
    or AsTime     is not null

返回

在此处输入图片说明

同意mjsqu的答案。

除此之外,对于更多的date-format选项并处理可能的输入格式问题(如果输入是varchar),您还可以尝试以下操作:

DECLARE @dateValue VARCHAR(20)='07/01/15'

SELECT TRY_CONVERT( DATE, @dateValue, 1) DateValueConvert;

SELECT TRY_PARSE(@dateValue AS DATE USING 'en-us') DateValueUS

SELECT TRY_PARSE(@dateValue AS DATE USING 'en-gb') DateValueGB

输出:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM