[SQL] 모든 열이 NULL이 있는지 확인하는 빠른 방법이 있나요?
SQL모든 열이 NULL이 있는지 확인하는 빠른 방법이 있나요?
나는 약 20 열이있는 테이블이 있습니다. 이외에도 외부 입력에서 :
Where column1 is null OR column2 is null OR column3 is null etc...
단지 모든 열을 확인하고 값이 null인지 확인하고 만약 그렇다면, 그 기록을 반환하는 빠른 방법이 있나요?
해결법
-
==============================
1.아뇨 빠른 코드 가지 방법이 있습니다,하지만 당신은 의미처럼 지름길은 없다. 내가 dba.stackexchange에 준 대답에서 발췌 :
아뇨 빠른 코드 가지 방법이 있습니다,하지만 당신은 의미처럼 지름길은 없다. 내가 dba.stackexchange에 준 대답에서 발췌 :
DECLARE @tb NVARCHAR(255), @sql NVARCHAR(MAX); SET @tb = N'dbo.[table]'; SET @sql = N'SELECT * FROM ' + @tb + ' WHERE 1 = 0'; SELECT @sql = @sql + N' OR ' + QUOTENAME(name) + ' IS NULL' FROM sys.columns WHERE [object_id] = OBJECT_ID(@tb); EXEC sp_executesql @sql;
-
==============================
2.이 같은 것을 사용하여 열 이름을 찾을 수 있습니다 :
이 같은 것을 사용하여 열 이름을 찾을 수 있습니다 :
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.Columns where TABLE_NAME = <table_name>
그런 다음,이를 사용하여 프로 시저를 작성하고 테이블의 항목과 열 이름을 통해 그 것 루프 것입니다.
출처 : http://codesnippets.joyent.com/posts/show/337
-
==============================
3.즉 어떤 빠른 방법에 따라 달라집니다.
즉 어떤 빠른 방법에 따라 달라집니다.
당신은 SQL Server를 실행하는 빠른 말은, 당신이 할 수있는 한 가지 업데이트보다 트리거를 지정하는 전체 행 (비트 및 기본 키 이외의) NULL 경우하는 비트 열을 쓰기입니다. 그러나, 그것은 당신의 업데이트 성능에 영향을줍니다 이에 대한 진짜 이유가 있어야한다. 그 컬럼의 인덱스가 아니라 도움이 될 것이다.
당신이 빨리 쓰기를 의미하는 경우, 당신은 SQL 당신을 위해 where 절을 생성있을 수 있습니다. 이을 많이하지 않는 한, 그것은 내 의견의 시간 가치가되지 않습니다.
-
==============================
4.교육 - 투 - 물고기 - 대신 -의 - - 당신 - 더 - 물고기주고 여기에 해답의 종류 :
교육 - 투 - 물고기 - 대신 -의 - - 당신 - 더 - 물고기주고 여기에 해답의 종류 :
그 일을하는 한 가지 방법은 조립 및 실행 동적 쿼리 저장 프로 시저를 만드는 것입니다.
저장 프로 시저의 뜻 :
from https://stackoverflow.com/questions/9705369/is-there-a-quick-way-to-check-if-any-column-is-null by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] MS 액세스 쿼리에서 날짜를 문자열로 변환 (0) | 2020.07.13 |
---|---|
[SQL] 매개 변수를 사용하여 SQL 쿼리에서 와일드 카드를 사용하는 방법 (0) | 2020.07.13 |
[SQL] PostgreSQL은 여러 선택 문을 결합 (0) | 2020.07.13 |
[SQL] SQL : 여러 열을 GROUP BY 및 MAX를 사용하여 (0) | 2020.07.13 |
[SQL] PostgreSQL을에 선택 MySQL의 변환 (0) | 2020.07.13 |