我有一個資料型別為“Varchar”的欄位“date_of_service”。目前我們以 mm/DD/yyyy 格式插入記錄。現在我只想將格式更新為 yyyy-mm-dd。我如何使用查詢更新它們?
uj5u.com熱心網友回復:
您應該在表中創建一個具有DATE型別的新欄位,可能稱為new_date。
例如,您必須使用 SUBSTRING 函式分隔舊日期,字串的第一個位置是 1,因此年份位置從 7 開始并取 4 個字符。代碼將是這樣的:
UPDATE your_table SET new_date = CONCAT(SUBSTRING(old_date,7,4),'-',SUBSTRING(old_date,1,2),'-',SUBSTRING(old_date,4,2));
uj5u.com熱心網友回復:
理想情況下,您應該將該date_of_service欄位設定為日期列。話雖如此,如果您想將其保留為文本但更改格式,請使用:
UPDATE yourTable
SET date_of_service = DATE_FORMAT(STR_TO_DATE(date_of_service, '%m/%d/%Y'),
'%Y-%m-%d');
另一種方法,使用子字串操作:
UPDATE yourTable
SET date_of_service = CONCAT(RIGHT(date_of_service, 4), '-',
LEFT(date_of_service, 2), '-',
SUBSTRING(date_of_service, 4, 2));
uj5u.com熱心網友回復:
通過格式化決議日期更新:
update mytable set
date_of_service = date_format(str_to_date(date_of_service, '%m/%d/%Y'), '%Y-%m-%d`)
或者,使用正則運算式!
update mytable set
date_of_service = regexp_replace(date_of_service, '(.*?)/(.*)/(.*)', '\\3-\\1-\\2')
請
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/411771.html
標籤:
