2016-03-03 136 views
-3

我在SQL DB中具有2種不同格式的變量「month」:yyyy-mmyyyy-m(例如2015-11,2016-1)。如何將yyyy-m格式更改爲yyyy-mm?在SQL中更改日期格式

+2

因此我們需要使用數據類型**日期** –

+4

您使用的是什麼RDBMS? –

+0

使用'date'數據類型,你永遠不會有這樣的問題。 – jarlh

回答

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的日期操作函數。

+0

請告訴我們哪些dbms可以使用。 – jarlh

+0

這將是MSSQL代碼。從我和MySQL一起工作了一段時間,但它與內存非常相似。 – eftpotrm