如何從 MySQL 的所有欄位中刪除前兩個字元?
若要刪除所有欄位的前兩個字元,需要使用 MySQL 中的 SUBSTRING() 函式。語法如下所示 −
UPDATE yourTableName SET yourColumnName=SUBSTRING(yourColumnName,3) WHERE yourCondition;
為了理解上述語法,我們建立一個表。建立表的查詢如下 −
mysql> create table RemoveFirstTwoCharacterDemo -> ( -> Id int NOT NULL AUTO_INCREMENT, -> StringValue varchar(30), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (1.04 sec)
使用 insert 命令向表中插入一些記錄。查詢如下 −
mysql> insert into RemoveFirstTwoCharacterDemo(StringValue) values('U:100'); Query OK, 1 row affected (0.13 sec) mysql> insert into RemoveFirstTwoCharacterDemo(StringValue) values('S:20'); Query OK, 1 row affected (0.21 sec) mysql> insert into RemoveFirstTwoCharacterDemo(StringValue) values('N/A'); Query OK, 1 row affected (0.12 sec) mysql> insert into RemoveFirstTwoCharacterDemo(StringValue) values('T:8'); Query OK, 1 row affected (0.16 sec) mysql> insert into RemoveFirstTwoCharacterDemo(StringValue) values('N/A'); Query OK, 1 row affected (0.12 sec) mysql> insert into RemoveFirstTwoCharacterDemo(StringValue) values('W:99'); Query OK, 1 row affected (0.19 sec)
使用 select 語句顯示錶中的所有記錄。查詢如下 −
mysql> select *from RemoveFirstTwoCharacterDemo;
輸出如下 −
+----+-------------+ | Id | StringValue | +----+-------------+ | 1 | U:100 | | 2 | S:20 | | 3 | N/A | | 4 | T:8 | | 5 | N/A | | 6 | W:99 | +----+-------------+ 6 rows in set (0.00 sec)
以下是刪除前兩個字元的查詢 −
mysql> update RemoveFirstTwoCharacterDemo set StringValue=SUBSTRING(StringValue,3) -> where StringValue <> 'N/A'; Query OK, 4 rows affected (0.27 sec) Rows matched: 4 Changed: 4 Warnings: 0
再次使用 select 語句檢查表記錄。查詢如下 −
mysql> select *from RemoveFirstTwoCharacterDemo;
輸出如下 −
+----+-------------+ | Id | StringValue | +----+-------------+ | 1 | 100 | | 2 | 20 | | 3 | N/A | | 4 | 8 | | 5 | N/A | | 6 | 99 | +----+-------------+ 6 rows in set (0.00 sec)
廣告