Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

문자열이 특정 길이보다 작으면 MySQL에 하위 문자열을 표시하거나 더 길면 사용자 정의 메시지를 표시하시겠습니까?

<시간/>

이를 위해 MySQL에서 substring() 함수를 사용할 수 있습니다. 조건의 경우 MySQL CASE 문을 사용합니다. 먼저 −

를 생성해 보겠습니다.
mysql> create table DemoTable1402
   -> (
   -> EmployeeName varchar(40)
   -> );
Query OK, 0 rows affected (0.62 sec)

insert −

를 사용하여 테이블에 일부 레코드 삽입
mysql> insert into DemoTable1402 values('Adam Smith');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1402 values('Chris Brown');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1402 values('David Miller');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1402 values('Carol Taylor');
Query OK, 1 row affected (0.10 sec)

select −

를 사용하여 테이블의 모든 레코드 표시
mysql> select * from DemoTable1402;

이것은 다음과 같은 출력을 생성합니다 -

+--------------+
| EmployeeName |
+--------------+
| Adam Smith   |
| Chris Brown  |
| David Miller |
| Carol Taylor |
+--------------+
4 rows in set (0.00 sec)

다음은 문자열이 특정 길이보다 작으면 MySQL에서 하위 문자열을 표시하거나 더 길면 사용자 지정 메시지를 표시하는 쿼리입니다. -

mysql> select *, case when char_length(EmployeeName) <=11 then substring(EmployeeName,1,5)
   -> else 'EmployeeName is greater than 11'
   -> end as Result
   -> from DemoTable1402;

이것은 다음과 같은 출력을 생성합니다 -

+--------------+---------------------------------+
| EmployeeName | Result                          |
+--------------+---------------------------------+
| Adam Smith   | Adam                            |
| Chris Brown  | Chris                           |
| David Miller | EmployeeName is greater than 11 |
| Carol Taylor | EmployeeName is greater than 11 |
+--------------+---------------------------------+
4 rows in set (0.04 sec)