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

スラッシュの後の数字で文字列の左側のゼロを埋めるためのMySQL数値文字列フォーマット


まずテーブルを作成しましょう-

mysql> create table DemoTable1369
    -> (
    -> BatchId varchar(20)
    -> );
Query OK, 0 rows affected (0.46 sec)

挿入コマンドを使用して、テーブルにいくつかのレコードを挿入します。ここにスラッシュで区切って数字を挿入しました-

mysql> insert into DemoTable1369 values('19/5');
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1369 values('19/78');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1369 values('19/567');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1369 values('19/1234');
Query OK, 1 row affected (0.11 sec)

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

mysql> select * from DemoTable1369;

これにより、次の出力が生成されます-

+---------+
| BatchId |
+---------+
| 19/5    |
| 19/78   |
| 19/567  |
| 19/1234 |
+---------+
4 row>

数値文字列フォーマットのクエリは次のとおりです。フィールドを埋めるためにスラッシュの後にゼロを設定しました。合計フィールド幅は、最大のフィールド値、つまり数値「1234」の場合は4によって決定されます-

mysql> select
    -> concat(left(BatchId,3), lpad(substring(BatchId, 4), 4, '0'))
    -> from DemoTable1369;

これにより、次の出力が生成されます-

+--------------------------------------------------------------+
| concat(left(BatchId,3), lpad(substring(BatchId, 4), 4, '0')) |
+--------------------------------------------------------------+
| 19/0005                                                      |
| 19/0078                                                      |
| 19/0567                                                      |
| 19/1234                                                      |
+--------------------------------------------------------------+
4 rows in set (0.00 sec)

  1. 数値を含むVARCHAR文字列のハイフンの後の数値を削除するMySQLクエリ

    これには、SUBSTRING_INDEX()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable2040    -> (    -> StudentCode varchar(20)    -> ); Query OK, 0 rows affected (0.85 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable2040 values('John-232'

  2. MySQLで数字と混合された文字列で並べ替えますか?

    場合によってはORDERBYを使用します。テーブルを作成しましょう- mysql> create table demo18 −> ( −> value text −> ); Query OK, 0 rows affected (1.18 sec) 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。 mysql> insert into demo18 values('John Smith'); Query OK, 1 row affected (0.06 sec) mysql> inse