在SQL中更改日期格式
问题描述:
我在SQL DB中具有2种不同格式的变量“month”:yyyy-mm
和yyyy-m
(例如2015-11,2016-1)。如何将yyyy-m
格式更改为yyyy-mm?
在SQL中更改日期格式
答
如果您可以确定它永远不会成为任何东西除了那些确切的格式,你可以在字符串中的一个已知点插入一个零 -
SELECT MonthField,
CASE WHEN LEN(MonthField)=6 THEN
LEFT(MonthField,5)+'0' + RIGHT(MonthField,1)
ELSE MonthField
END AS MonthField_Cleaned
FROM SourceTable
但是,如果可能的话,你会更好的清洗无论是创造的数据,最好数据存储为实际日期而不是表示月份的字符串,以确保它们不会混淆,并且您可以使用DBMS的日期操作函数。
因此我们需要使用数据类型**日期** –
您使用的是什么RDBMS? –
使用'date'数据类型,你永远不会有这样的问题。 – jarlh