Mysql

使用原始值的子字元串批量更新列中的所有單元格

  • June 27, 2020

我需要修剪一列中所有單元格的最後七個字元。

此查詢返回我需要的結果

SELECT test_date, SUBSTRING(test_date FROM 1 FOR CHAR_LENGTH(test_date) - 7) as test from results;

我現在需要從子字元串中獲取計算結果並替換原始值。

如果有幫助,這就是數據的樣子。

數據表

做一個簡單的更新

CREATE TABLE Table1
    (`test_date` datetime)
;
INSERT INTO Table1
    (`test_date`)
VALUES
    ('2020-06-10 00:06:17.185449'),
    ('2020-06-10 00:11:05.943217'),
    ('2020-06-10 00:13:45.375109'),
    ('2020-06-10 00:13:45.461321'),
    ('2020-06-10 00:15:32.497548'),
    ('2020-06-10 00:15:32.544873')
;
UPDATE Table1 SET test_date = SUBSTRING(test_date FROM 1 FOR CHAR_LENGTH(test_date) - 7)
SELECT * FROm Table1
| 測試日期 |
| :------------------ |
| 2020-06-10 00:00:00 |
| 2020-06-10 00:00:00 |
| 2020-06-10 00:00:00 |
| 2020-06-10 00:00:00 |
| 2020-06-10 00:00:00 |
| 2020-06-10 00:00:00 |

db<>在這裡擺弄

引用自:https://dba.stackexchange.com/questions/269992