MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLの特定の文字である場合、最後の文字を削除しますか?


特定の文字である場合に最後の文字を削除するには、SUBSTRING()を使用します。まずテーブルを作成しましょう-

mysql> create table DemoTable
   (
   SubjectName varchar(100)
   );
Query OK, 0 rows affected (0.47 sec)

挿入コマンド-

を使用して、テーブルにいくつかのレコードを挿入します
mysql> insert into DemoTable values('MySQL');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('MongoDB?');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('Java?');
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('C');
Query OK, 1 row affected (0.16 sec)

selectステートメントを使用してテーブルのすべてのレコードを表示する-

mysql> select *from DemoTable;

出力

+-------------+
| SubjectName |
+-------------+
| MySQL       |
| MongoDB?    |
| Java?       |
| C           |
+-------------+
4 rows in set (0.00 sec)

これは、最後の文字が特定の文字である場合に削除するクエリです。たとえば、ここに疑問符(?)-

mysql> update DemoTable SET SubjectName = SUBSTRING(SubjectName, 1, CHAR_LENGTH(SubjectName) - 1)
   where SubjectName like '%?';
Query OK, 2 rows affected (0.25 sec)
Rows matched : 2 Changed : 2 Warnings : 0

テーブルレコードをもう一度確認しましょう-

mysql> select *from DemoTable;

出力

+-------------+
| SubjectName |
+-------------+
| MySQL       |
| MongoDB     |
| Java        |
| C           |
+-------------+
4 rows in set (0.00 sec)

  1. 特定の最後の文字列文字でソートするMySQLクエリ?

    このために、CASEステートメントを使用できます。並べ替えるには、ORDERBY句を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> ClientName varchar(20)    -> ); Query OK, 0 rows affected (0.54 sec) 挿入コマンドを使用して

  2. 特定の文字ハイフンの前にあるすべての文字を取得するMySQLクエリ

    このために、SUBSTRING_INDEX()を使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable1857      (      Name varchar(20)      ); Query OK, 0 rows affected (0.00 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1857 values('John-Smith'