2017-04-25 179 views
0

我有个约会给出转换一个月名在日期月份数,两位数日期和月份

'2015-DEC-01' 

,我要转换为

'2015-12-01' 

请注意,我想要两个数字为月份和日期,这对我来说很重要。这里是我的尝试: select CONCAT(datepart(yyyy,'2015-DEC-01'),'-',datepart(mm,'2015-DEC-01'),'-',datepart(dd,'2015-DEC-01'))

它给出的答案是: 2015-12-1 正如我们看到的,我找了一个月两位数以及即一天 我需要01到位1 我能得到一些在这里协助?感谢名单

回答

1

使用cast()convert()

select cast('2015-DEC-01' as date) 

cast()用绳子将日期灵活得多比人们想象的首次。它适用于这种情况。

这将该值转换为日期。然后,您可以使用format()convert()进行格式化。例如:

select convert(varchar(10), cast('2015-DEC-01' as date), 121) 
+1

我认为这是最好的答案。 –

+1

我更喜欢使用'CONVERT',并且我可能已经把书签拖到了MSDN的cast/convert页面,并且所有可用的选项 –

+0

谢谢,同事们提供了有用的建议。 – jayant