[SQL] SQL - COALESCE와 ISNULL의 차이? [복제]
SQLSQL - COALESCE와 ISNULL의 차이? [복제]
COALESCE ()와 ISNULL ( '') 사이의 실질적인 차이점은 무엇입니까?
하나는 최고입니다 SQL의 연결 값에 NULL 값을 방지 할 때 사용되는?
감사!
해결법
-
==============================
1.
> USE tempdb; > GO > -- This statement fails because the PRIMARY KEY cannot accept NULL values > -- and the nullability of the COALESCE expression for col2 > -- evaluates to NULL. > CREATE TABLE #Demo ( col1 integer NULL, col2 AS COALESCE(col1, 0) PRIMARY KEY, col3 AS ISNULL(col1, 0) ); > > -- This statement succeeds because the nullability of the > -- ISNULL function evaluates AS NOT NULL. > > CREATE TABLE #Demo ( col1 integer NULL, col2 AS COALESCE(col1, 0), > col3 AS ISNULL(col1, 0) PRIMARY KEY );
출처 : BOL
-
==============================
2.가장 큰 차이점은 당신이 다른 RDBMS에에서 찾을 수 있도록 COALESCE는, ANSI-표준이다,이다, 다른 차이점은 ISNULL에 하나만을 전달할 수있는 반면 유착에 검사 할 값의 전체 목록을 제공 할 수있다.
가장 큰 차이점은 당신이 다른 RDBMS에에서 찾을 수 있도록 COALESCE는, ANSI-표준이다,이다, 다른 차이점은 ISNULL에 하나만을 전달할 수있는 반면 유착에 검사 할 값의 전체 목록을 제공 할 수있다.
-
==============================
3.ISNULL 함수이기 때문에, 한 번만 평가된다. 상술 한 바와 같이, 병합 식에 대한 입력 값은 여러번 평가 될 수있다. COALESCE는 기본적으로 CASE 표현식으로 변환하고 ISNULL은 내장 데이터베이스 엔진에서 구현됩니다.
ISNULL 함수이기 때문에, 한 번만 평가된다. 상술 한 바와 같이, 병합 식에 대한 입력 값은 여러번 평가 될 수있다. COALESCE는 기본적으로 CASE 표현식으로 변환하고 ISNULL은 내장 데이터베이스 엔진에서 구현됩니다.
ISNULL 빠른 유착보다.
MSDN
-
==============================
4.COALESCE ()는 다수의 입력을 가질 수 있으며, 그 중 하나가 널이 아닌 때까지 순서대로 평가 것 같은 유착 등 (COL1, Col2의, 열 3, "N / A"). ) (대신 ISNULL의 MS에 의해 이것을 사용하는 것이 좋습니다
COALESCE ()는 다수의 입력을 가질 수 있으며, 그 중 하나가 널이 아닌 때까지 순서대로 평가 것 같은 유착 등 (COL1, Col2의, 열 3, "N / A"). ) (대신 ISNULL의 MS에 의해 이것을 사용하는 것이 좋습니다
ISNULL ()는 단지 그러나 약간 빠른 유착보다 것으로 알려져있어, 하나 개의 입력을 할 수 있습니다.
from https://stackoverflow.com/questions/18828641/sql-difference-between-coalesce-and-isnull by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] sqlite3를에 대한 기본 재귀 쿼리? (0) | 2020.04.20 |
---|---|
[SQL] SQL 서버에서 가장 가까운 날짜 찾기 (0) | 2020.04.19 |
[SQL] PostgreSQL의 IF 문 (0) | 2020.04.19 |
[SQL] MySQL은 각 카테고리의 상위 5 반환 (0) | 2020.04.19 |
[SQL] 병합 중복 날짜 간격 (0) | 2020.04.19 |