我有一年的數據在一年的數據類型的數據表字段,現在我想插入新的數據與日期數據,我想從舊數據轉換爲默認月份和日期1.1.YearFromOldData日期。 我正在尋找類似函數STR_TO_DATE的東西,但是對於數據類型年NOT VARCHAR NOT VARCHAR,我無法找到它。我將如何做到這一點?如何在mysql中將年份轉換爲日期?
我想這樣做
SELECT YEAR_TO_DATE(myYearField, '%1 /%1 /%Y') FROM mytable的
我有一年的數據在一年的數據類型的數據表字段,現在我想插入新的數據與日期數據,我想從舊數據轉換爲默認月份和日期1.1.YearFromOldData日期。 我正在尋找類似函數STR_TO_DATE的東西,但是對於數據類型年NOT VARCHAR NOT VARCHAR,我無法找到它。我將如何做到這一點?如何在mysql中將年份轉換爲日期?
我想這樣做
SELECT YEAR_TO_DATE(myYearField, '%1 /%1 /%Y') FROM mytable的
你可以得到時間戳使用
timestamp = (year - 1970)/31557600
STR_TO_DATE()
正是你需要的東西插入到數據庫。如果您有四位數年份,字符串,整數或YEAR
列,請嘗試此操作。它適用於所有人。
select str_to_date(CONCAT(year_column,'-01-01'), '%Y-%m-%d')
如果你有兩個數字的年份試試這個(小寫%Y)
select str_to_date(CONCAT(year_column,'-01-01'), '%y-%m-%d')
這很酷,因爲你可以做各種日期計算的:例如
select str_to_date(CONCAT(year_column,'-01-01'), '%Y-%m-%d')
+ INTERVAL 1 QUARTER
- INTERVAL 1 DAY
會爲您提供您今年第一季度的最後一天。
對不起,我的措辭不清楚年份是存儲在數據類型年。你的方法是否仍然適用於這些信息? – Hakaishin
是的。請參閱我的編輯。如果你還沒有找到http://sqlfiddle.com/你應該檢查出來。 –
如果你想在今年的第一天,我想最簡單的方法是makedate()
:
select makedate(year, 1)
請編輯您的問題,並提供樣本數據和預期的結果。 –
現在更清楚@GordonLinoff? – Hakaishin