특정 길이의 문자열 필드를 쿼리하려면 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)