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

特定の長さの文字列フィールドをMySQLでクエリしますか?


特定の長さの文字列フィールドをクエリするには、MySQLのchar_length()またはlength()を使用します。

構文

構文は次のとおりです-

ケース1 − char_length()

の使用

これは、多くの文字で長さをとっているときに使用できます。

構文-

select *from yourTableName where
char_length(yourColumnName)=anySpecificLengthValue;

ケース2 − length()

の使用

これは、長さをバイト単位で取得するときに使用できます。

構文-

select *from yourTableName where length(yourColumnName)=anySpecificLengthValue;

上記の概念を理解するために、最初にテーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです-

mysql> create table StringWithSpecificLength
-> (
-> Id int,
-> Name varchar(100),
-> FavouriteLanguage varchar(50)
-> );
Query OK, 0 rows affected (0.52 sec)

挿入コマンドを使用して、テーブルにレコードを挿入します。クエリは次のとおりです-

mysql> insert into StringWithSpecificLength values(1,'John','Java');
Query OK, 1 row affected (0.66 sec)

mysql> insert into StringWithSpecificLength values(2,'Bob','PHP');
Query OK, 1 row affected (0.17 sec)

mysql> insert into StringWithSpecificLength values(3,'Carol','Python');
Query OK, 1 row affected (0.16 sec)

mysql> insert into StringWithSpecificLength values(4,'Sam','Ruby');
Query OK, 1 row affected (0.25 sec)

mysql> insert into StringWithSpecificLength values(5,'Mike','Pascal');
Query OK, 1 row affected (0.19 sec)

selectステートメントを使用して、テーブルのすべてのレコードを表示します。クエリは次のとおりです-

mysql> select *from StringWithSpecificLength;

出力

+------+-------+-------------------+
| Id   | Name  | FavouriteLanguage |
+------+-------+-------------------+
|    1 | John  | Java              |
|    2 | Bob   | PHP               |
|    3 | Carol | Python            |
|    4 | Sam   | Ruby              |
|    5 | Mike  | Pascal            |
+------+-------+-------------------+
5 rows in set (0.00 sec)

以下は、特定の長さの文字列フィールドをフェッチするためのクエリです-

mysql> select *from StringWithSpecificLength where char_length(FavouriteLanguage)=6;

出力

+------+-------+-------------------+
| Id    | Name | FavouriteLanguage |
+------+-------+-------------------+
| 3    | Carol | Python            |
| 5    | Mike  | Pascal            |
+------+-------+-------------------+
2 rows in set (0.00 sec)

  1. 文字列の長さに基づいて星の数を追加するMySQLクエリ?

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

  2. 数値を含む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'