我有很多地方的日期年份是0015,而不是2015年或0016,而不是2016年,等等,等等...的更換00與20年的日期字段中的Postgres/Rails的
我大概可以寫一個紅寶石腳本爲我照顧它,但是有很多條目,我認爲這個腳本會花太長的時間。
有什麼辦法可以在SQL中做到這一點?
如果我只能年復一年,我願意17次運行腳本來完成2000年的所有工作。
感謝您的任何幫助。
我有很多地方的日期年份是0015,而不是2015年或0016,而不是2016年,等等,等等...的更換00與20年的日期字段中的Postgres/Rails的
我大概可以寫一個紅寶石腳本爲我照顧它,但是有很多條目,我認爲這個腳本會花太長的時間。
有什麼辦法可以在SQL中做到這一點?
如果我只能年復一年,我願意17次運行腳本來完成2000年的所有工作。
感謝您的任何幫助。
假設這些是日期或時間戳字段,您應該能夠將其作爲簡單的UPDATE
查詢來完成。
首先,我們可以找到所有與像這樣受影響日期:
SELECT * FROM my_table WHERE my_column < '0020-01-01';
假定這將返回正確的行,我們可以簡單地添加2000年到每個受影響日期:
SELECT my_column as old_value, my_column + interval '2000 years'
FROM my_table WHERE my_column < '0020-01-01';
假設這一切看起來不錯,將它應用到表中:
UPDATE my_table
SET my_column = my_column + interval '2000 years'
WHERE my_column < '0020-01-01';
Duh .. jeez不敢相信我沒有想到這一點。感謝IMSoP偉大的答案,正是我所期待的。 – bryanfeller
什麼是列類型? –