[SQL] MySQL은 SELECT AS는 하나에 두 개의 열을 결합
SQLMySQL은 SELECT AS는 하나에 두 개의 열을 결합
이 용액을 사용하여, I 데이터를 내보낼 때 CSV 파일로 출력 열 이름을 선택하면 이름을 사용하여 해당 MySQL의 쿼리의 일부로서 유착을 사용하려고.
SELECT FirstName AS First_Name
, LastName AS Last_Name
, ContactPhoneAreaCode1
, ContactPhoneNumber1
, COALESCE(ContactPhoneAreaCode1, ContactPhoneNumber1) AS Contact_Phone
FROM TABLE1
FIRST_NAME, LAST_NAME과 Contact_Phone : 나는 3 열을 원했다
FIRST_NAME, LAST_NAME, ContactPhoneAreaCode1, ContactPhoneNumber1 및 Contact_Phone : 나는 5 열을 얻고있다
어떻게 쿼리 내에서 Contact_Phone에 대한 하나의 컬럼에 ContactPhoneAreaCode1, ContactPhoneNumber1의 병합을 숨길 수 있습니까?
해결법
-
==============================
1.두 열이 NULL을 포함 할 수 있지만 여전히 하나의 문자열로 병합 할 경우, 가장 쉬운 해결책은 CONCAT_WS ()를 사용하는 것입니다 :
두 열이 NULL을 포함 할 수 있지만 여전히 하나의 문자열로 병합 할 경우, 가장 쉬운 해결책은 CONCAT_WS ()를 사용하는 것입니다 :
SELECT FirstName AS First_Name , LastName AS Last_Name , CONCAT_WS('', ContactPhoneAreaCode1, ContactPhoneNumber1) AS Contact_Phone FROM TABLE1
이 방법은 별도로 각 열의 NULL 다움을 확인 할 필요가 없습니다.
두 열이 실제로 NOT NULL, CONCAT (로 정의 된 경우 또는,) 매우 충분합니다 :
SELECT FirstName AS First_Name , LastName AS Last_Name , CONCAT(ContactPhoneAreaCode1, ContactPhoneNumber1) AS Contact_Phone FROM TABLE1
COALESCE에 관해서는, 조금 다른 짐승 : 인수 목록 감안할 때, 그것은 NULL이 아니다 그 첫 번째 반환합니다.
-
==============================
2.당신은 목록 ContactPhoneAreaCode1 및 ContactPhoneNumber1 할 필요가 없습니다
당신은 목록 ContactPhoneAreaCode1 및 ContactPhoneNumber1 할 필요가 없습니다
SELECT FirstName AS First_Name, LastName AS Last_Name, COALESCE(ContactPhoneAreaCode1, ContactPhoneNumber1) AS Contact_Phone FROM TABLE1
-
==============================
3.당신은 당신의 CONCAT에서 사용하기 위해 별도로 열을 선택할 필요가 없습니다. 간단하게 제거하고 쿼리가 될 것입니다 :
당신은 당신의 CONCAT에서 사용하기 위해 별도로 열을 선택할 필요가 없습니다. 간단하게 제거하고 쿼리가 될 것입니다 :
SELECT FirstName AS First_Name , LastName AS Last_Name , CONCAT(ContactPhoneAreaCode1, ContactPhoneNumber1) AS Contact_Phone FROM TABLE1
-
==============================
4.'_'CONCAT과 유착과 공간 또는 같은 결과의 열 사이에 특수 문자를 사용하여 NULL 컬럼의 경우는의 두 가지 기능을 결합하는이 같은 조항이 경우 사용하는 것이 좋습니다
'_'CONCAT과 유착과 공간 또는 같은 결과의 열 사이에 특수 문자를 사용하여 NULL 컬럼의 경우는의 두 가지 기능을 결합하는이 같은 조항이 경우 사용하는 것이 좋습니다
SELECT FirstName , LastName , IF(FirstName IS NULL AND LastName IS NULL, NULL,' _ ',CONCAT(COALESCE(FirstName ,''), COALESCE(LastName ,''))) AS Contact_Phone FROM TABLE1
from https://stackoverflow.com/questions/18860233/mysql-select-as-combine-two-columns-into-one by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 검색 데이터베이스에 문자열의 일부를 대체 (0) | 2020.06.25 |
---|---|
[SQL] MySQL은 컬럼의 마지막 두 글자 스트립 (0) | 2020.06.25 |
[SQL] 어떻게 저장 프로 시저에 의해 영향을받는 레코드 수를 얻을 수 있나요? (0) | 2020.06.25 |
[SQL] 데이터베이스 및 테이블을 작성할 SQL 스크립트를 생성 (0) | 2020.06.25 |
[SQL] 트위터 부트 스트랩 모달에 동적으로로드 정보 (0) | 2020.06.25 |