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)

insert 명령을 사용하여 테이블에 레코드를 삽입합니다. 쿼리는 다음과 같습니다 -

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)