在sql server中将字符串转换为日期格式105

时间:2013-11-01 12:25:30

标签: sql-server-2008 date date-conversion

我有ddmmyy顺序的字符串,即'231013',我需要将其转换为dd-mm-yy格式 我尝试了以下但它给出了yyyy-dd-mm格式

我知道105会给出dd-mm-yy格式

    DECLARE @ITEMS AS NVARCHAR(10)='231013'

    SELECT CONVERT(DATE,@ITEMS,105) 

但它正在返回

2023年10月13日 如何将ddmmyy顺序的字符串转换为日期dd-mm-yy

3 个答案:

答案 0 :(得分:1)

按照ddmmyy的顺序将字符串转换为日期dd-mm-yy

DECLARE @ITEMS AS NVARCHAR(10)='231013'
SELECT CONVERT(varchar(25),
CONVERT(DATE, SUBSTRING(@ITEMS, 1, 2) + '-' + SUBSTRING(@ITEMS, 3, 2) + '-' + SUBSTRING(@ITEMS, 5, 2), 5),5)

结果将是

image

答案 1 :(得分:0)

CONVERT似乎mmddyy样式为not natively supported;要执行转换,我只需将输入字符串调整为支持的样式之一,例如mm-dd-yy

SELECT 
   CONVERT(DATE, SUBSTRING(@ITEMS, 1, 2) + '-' + SUBSTRING(@ITEMS, 3, 2) + '-' + 
                 SUBSTRING(@ITEMS, 5, 2), 5)

答案 2 :(得分:0)

如果您只需要更改格式(不转换为DateTime类型),您可以Stuff()

Declare @Items as nvarchar(10)='231013' --ddmmyy

Select Stuff(Stuff(@Items,3,0,'-'),6,0,'-')  --dd-mm-yy 

<强> Fiddle demo