我有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
答案 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)
结果将是
答案 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 强>