2013-10-17 100 views
0

我的表中有一個月份和年份列。我想從他們那裏創建一個日期。這不起作用:Sqlite將月份/年份的文本數據類型的列轉換爲日期

select date(year || '-' || month || '-' || 01) from utilities 

我的數據是這樣的:

------------ 
|month|year| 
| 12|2013| 
| 1|2010| 
------------ 
+0

你的年齡是4位還是2位? –

+0

@LS_dev我更新了這個問題 – CLJ

回答

1

SQLite的接受YYYY-MM-DD格式,所以只需用月1關心9:

SELECT DATE(year||'-'||CASE WHEN month<10 THEN '0'||month ELSE month END||'-0 

1');

1

這爲我工作:

select max(date(year || '-' || SUBSTR('0' || month, -2, 2) || '-' || '01')) as maxdate, month, year from utilities 
+0

也許吧,但是一團糟...你的方法是嘗試錯誤? –

+0

也許你可以建議一個更合適的方法@LS_dev – CLJ

+0

你的'date(...)'部分是正確的,但我不明白爲什麼'max(...)'' –

相關問題