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

MySQL에서 비어 있지 않은 열 값을 선택하는 데 도움이 필요하십니까?

<시간/>

NOT IS NULL 및 TRIM() 함수를 사용하여 비어 있지 않은 열 값을 선택합니다. 구문은 다음과 같습니다.

SELECT * FROM yourTableName WHERE yourColumnName IS NOT NULL AND TRIM(yourColumnName) <> ' ';

동일한 TRIM() 함수를 사용하여 열에서 비어 있지 않은 값과 공백을 선택할 수 있습니다.

위에서 논의한 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -

mysql> Create table SelectNonEmptyValues ​​-> ( -> Id int not null auto_increment, -> Name varchar(30), -> PRIMARY KEY(Id) -> );쿼리 OK, 영향을 받는 행 0개(0.62초) 

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

mysql> SelectNonEmptyValues(Name) values('John Smith')에 삽입, 쿼리 확인, 1행 영향(0.20초) mysql> SelectNonEmptyValues(Name) 값에 삽입(NULL), 쿼리 확인, 1행 영향(0.13 sec)mysql> insert into SelectNonEmptyValues(Name) values('');Query OK, 1개의 row가 영향을 받습니다(0.24초)mysql> insert into SelectNonEmptyValues(Name) values('Carol Taylor');Query OK, 1개의 row가 영향을 받습니다(0.13 sec)mysql> SelectNonEmptyValues(Name) values('DavidMiller');Query OK, 1개의 row가 영향을 받았습니다(0.28초)mysql> insert into SelectNonEmptyValues(Name) values(' ');Query OK, 1 row가 영향을 받았습니다(0.18초). )

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

mysql> Select *from SelectNonEmptyValues;

다음은 출력입니다 -

+----+--------------------------+| 아이디 | 이름 |+----+-----------------------+| 1 | 존 스미스 || 2 | 널 || 3 | || 4 | 캐롤 테일러 || 5 | 데이비드 밀러 || 6 | |+----+-----------------------+6행 세트(0.00초)

비어 있지 않은 값을 선택하는 쿼리는 다음과 같습니다. 아래 쿼리는 모든 경우에 작동합니다. - 열에 NULL, 빈 문자열 또는 공백이 있는 경우 -

mysql> SELECT * FROM SelectNonEmptyValues ​​WHERE 이름이 NULL이 아니며 TRIM(이름) <> '';

다음은 출력입니다 -

+----+--------------+| 아이디 | 이름 |+----+--------------+| 1 | 존 스미스 || 4 | 캐롤 테일러 || 5 | DavidMiller |+----+--------------+세트의 행 3개(0.00초)