CONCAT() 메서드를 사용하여 값을 연결할 수 있고 IFNULL() 메서드를 사용하여 NULL 값을 처리할 수 있습니다. 구문은 다음과 같습니다.
SELECT CONCAT('anyStringValue:',IFNULL(yourColumnName, 'anyStringValue’)) AS anyVariableName FROM yourTableName;
위의 구문을 이해하기 위해 테이블을 생성해 보겠습니다. 테이블 생성 쿼리는 다음과 같습니다.
mysql> create table ConcatValues -> ( -> Id int NOT NULL AUTO_INCREMENT, -> FirstName varchar(20), -> MiddleName varchar(20), -> LastName varchar(20), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.62 sec)
삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 쿼리는 다음과 같습니다.
mysql> insert into ConcatValues(FirstName,MiddleName,LastName) values('John' ,NULL ,'Smith'); Query OK, 1 row affected (0.24 sec) mysql> insert into ConcatValues(FirstName,MiddleName,LastName) values('Carol' ,NULL ,'Taylor'); Query OK, 1 row affected (0.16 sec) mysql> insert into ConcatValues(FirstName,MiddleName,LastName) values('David' ,NULL ,'Miller'); Query OK, 1 row affected (0.23 sec)
select 문을 사용하여 테이블의 모든 레코드를 표시합니다. 쿼리는 다음과 같습니다.
mysql> select *from ConcatValues;
다음은 출력입니다.
+----+-----------+------------+----------+ | Id | FirstName | MiddleName | LastName | +----+-----------+------------+----------+ | 1 | Mary | Elizabeth | Smith | | 2 | John | NULL | Smith | | 3 | Carol | NULL | Taylor | | 4 | David | NULL | Miller | +----+-----------+------------+----------+ 4 rows in set (0.00 sec)
다음은 NULL을 처리하고 값을 연결하는 쿼리입니다.
mysql> select -> concat('The middle name is:',IFNULL(MiddleName, 'Not Available')) AS MiddleName -> from ConcatValues;
다음은 출력입니다.
+----------------------------------+ | MiddleName | +----------------------------------+ | The middle name is:Elizabeth | | The middle name is:Not Available | | The middle name is:Not Available | | The middle name is:Not Available | +----------------------------------+ 4 rows in set (0.00 sec)