我在这里已经完成了建议的日期格式,但没有找到符合我要求的日期格式。
我有以下日期格式:
05-JUN-99。 05年的日期,JUN和1999年。
我被要求将其转换为mmddyy(两位数月份,两位数日期和两位数年份)。
任何想法如何做到这一点?
感谢您的协助
答案 0 :(得分:2)
您可以在此处使用convert
。
select convert(varchar(20),cast('05-JUN-99' as date),10)
--Output: 06-05-99
select replace(convert(varchar(20),cast('05-JUN-99' as date),10),'-','')
--Output: 060599
答案 1 :(得分:2)
我的投票使用FORMAT for SQL-SERVER 2012 +
SELECT FORMAT(CAST('05-JUN-99' AS DATETIME),'MMddyy')
这意味着没有嵌套的替换,没有无关的演员/转换等等让它更加整洁恕我直言
答案 2 :(得分:1)
我通常只是转换为字符串。获取年,月,日,将它们放在一个字符串中并将它们连接起来。
Declare @InputValue Varchar(16) = '05-JUN-99'
set @InputValue = replace(@InputValue,'-','/')
declare @TestDate DateTime
set @TestDate = convert(DateTime,@InputValue)
select @TestDate
select right ('0' + convert(Varchar(2),DATEPART(mm,@TestDate)),2)
+ right ('0' + convert(Varchar(2),DATEPART(dd,@TestDate)),2)
+ right ('0' + convert(Varchar(4),DATEPART(yy,@TestDate)),2)