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

MySQL에서 숫자 문자열에 비교 연산자를 사용하는 방법은 무엇입니까?

<시간/>

숫자 문자열에 비교 연산자를 사용하려면 substring() 메서드를 사용합니다. 먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable1881
   (
   UserId int,
   UserEducationGap varchar(20)
   );
Query OK, 0 rows affected (0.00 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

mysql> insert into DemoTable1881 values(101,'5-9');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1881 values(102,'2-4');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1881 values(103,'4-8');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1881 values(104,'7-12');
Query OK, 1 row affected (0.00 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select * from DemoTable1881;

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

+--------+------------------+
| UserId | UserEducationGap |
+--------+------------------+
|    101 | 5-9              |
|    102 | 2-4              |
|    103 | 4-8              |
|    104 | 7-12             |
+--------+------------------+
4 rows in set (0.00 sec)

다음은 MySQL에서 숫자 문자열에 대한 비교 연산자를 사용하는 쿼리입니다.

mysql> select * from DemoTable1881 where
cast(substring(UserEducationGap, 1, instr(UserEducationGap, '-')-1) as signed) >= 4;

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

+--------+------------------+
| UserId | UserEducationGap |
+--------+------------------+
|    101 | 5-9              |
|    103 | 4-8              |
|    104 | 7-12             |
+--------+------------------+
3 rows in set (0.00 sec)