DB에 저장된 값(문자열)에 길이를 확인하여 테스트를 진행할 경우, 많이 쓰는 키워드
ex) story title은 0글자에서 50글자까지 저장이 가능하다.
근데, UI 상에서 width가 40자까지만 지원되기 때문에, 뒤에 글자들은 ellipsis(말줄임) 처리가 될 것이다.
그렇다면 40자 미만부터 아슬아슬한 경곗값인 40자와 이상을 다 확인해야겠지?
| id | title |
| 1 | The Father Who Wanted to Marry His Daughter. |
| 2 | The Frog King, or Iron Heinrich. |
| 3 | The Story of a Boy Who Went Forth to Learn Fear. |
| 4 | The Little Old Man Made Young by Fire. |
| 5 | The King's Son Who Is Afraid of Nothing. |
SELECT *, CHAR_LENGTH(title) FROM stories;
쿼리 사용 시, 결과는 다음과 같다.
| id | title | `char_length(title)` |
| 1 | The Father Who Wanted to Marry His Daughter. | 44 |
| 2 | The Frog King, or Iron Heinrich. | 32 |
| 3 | The Story of a Boy Who Went Forth to Learn Fear. | 48 |
| 4 | The Little Old Man Made Young by Fire. | 38 |
| 5 | The King's Son Who Is Afraid of Nothing. | 40 |
CHAR_LENGTH 조건을 걸때는 WHERE로 이동되어 실행하면 된다.
SELECT * FROM stories WHERE CHAR_LENGTH(title) >= 40;
LENGTH와 CHAR_LENGTH 의 차이는
LENGTH는 Byte 수를 가져오기 때문에, 한글의 경우 "안녕"은 6바이트로 출력되나, CHAR_LENGTH는 문자의 개수기 때문에, 2로 출력된다.
728x90
'SQL' 카테고리의 다른 글
| INSERT INTO ... VALUES (0) | 2021.05.30 |
|---|---|
| sub query (0) | 2021.05.27 |
| DISTINCT (0) | 2021.05.23 |
| SELECT.. FROM.. WHERE (0) | 2021.05.23 |
| SQL 공부 사이트 (0) | 2021.05.21 |