在SQL中更改日期格式

时间:2016-03-03 11:51:48

标签: sql

我在SQL DB中有一个变量“month”,有两种不同的格式:yyyy-mmyyyy-m(例如,2015-11,2016-1)。当我尝试对“月份”(升序或降序)进行排序时,由于此格式不同而无法正常显示。如何将yyyy-m格式更改为yyyy-mm?

1 个答案:

答案 0 :(得分:0)

如果您可以确定它永远不会是那些精确格式以外的任何其他格式,您可以在字符串中的已知点插入零 -

SELECT  MonthField,
        CASE WHEN LEN(MonthField)=6 THEN 
            LEFT(MonthField,5)+'0' + RIGHT(MonthField,1)
            ELSE MonthField
        END AS MonthField_Cleaned
FROM    SourceTable

但是,如果可能的话,你最好清理任何创建数据的东西,理想情况下将数据存储为实际日期而不是代表月份的字符串,以确保它们不会混淆,你可以使用DBMS'日期操纵功能。