저는 +
을 사용하여 여러 열의 값을 연결합니다. 그러나 +
해당 열 중 하나에 null 값이 있으면 작동하지 않습니다. 예를 들어는 Tsql의 null 값 열을 연결합니다.
Select null+ 'Test'
쿼리는 '테스트'대신 null을 반환합니다.
이 문제를 해결하기위한 조언은 무엇입니까? SQL 서버 2012 이전 버전에
저는 +
을 사용하여 여러 열의 값을 연결합니다. 그러나 +
해당 열 중 하나에 null 값이 있으면 작동하지 않습니다. 예를 들어는 Tsql의 null 값 열을 연결합니다.
Select null+ 'Test'
쿼리는 '테스트'대신 null을 반환합니다.
이 문제를 해결하기위한 조언은 무엇입니까? SQL 서버 2012 이전 버전에
이 문제를 방지하기 위해
Select ISNULL(YourColumn,'') + 'Test' /*Or COALESCE(YourColumn,'')*/
를 사용해야합니다.
연결 옵션 SET CONCAT_NULL_YIELDS_NULL OFF
이 있지만 더 이상 사용되지 않습니다.
SQL Server 2012에는 연결시 NULL
을 빈 문자열로 처리하는 CONCAT
함수가 도입되었습니다. ?
SELECT CONCAT(null,'Test')
내가 MSSQL에 오라클에서 내 프로젝트를 마이그레이션하고 그것을 해결하는 또 다른 방법은, 내가 싶어 모든 제어 – jhash
@jhash에 ISNULL 컨트롤을 추가 해달라고있다 - 유일한 3 내가 알고있는 길은 이미 나의 대답에있다. 'ISNULL','COALESCE' 또는'CONCAT_NULL_YIELDS_NULL'을 사용합니다. 나는 모든 관련 장소에'COALESCE'를 표준으로 추가하고 Oracle과 SQL Server 모두에서 작동 할 것입니다. 더 이상 사용되지 않는 기능을 사용하려고하지만 향후 버전에서는 작동하지 않으며이 연결 옵션은 일부 SQL Server 기능과 호환되지 않습니다. 나는 그것을 직접 사용하지 않을 것이다. –
감사합니다 마틴에 대한 자세한 답변을 – jhash