저는 SQL을 처음 사용합니다. 나는이 프로젝트에서 어디에 무언가가 null인지 확인해야만하고, 만약 그것을 0으로 변경해야만한다. 그러나 이것과 많은 컬럼을해야 할 많은 테이블이있다. 난 모든 테이블의 모든 열을 검사하는 대신 nulls에 대한 전체 테이블을 확인할 수있는 방법이 있는지 궁금 해서요.SQL 질문 확인 null
답변
미셸, 아니요, 모든 열을 NULLS
으로 확인해야합니다. 더 큰 문제는 NULLS
이 허용되는 이유는 무엇입니까? 데이터베이스에 NULLS
을 절대 가지고 있지 않은데 대한 지지자는 아니지만 (테이블에 NULL
값이 너무 많음) 데이터베이스가 올바르게 정규화되지 않았거나 다른 아키텍처 문제가 있음을 나타내는 좋은 지표입니다.
나는 그들이 각각의 필드를 개별적으로 점검하고 싶지 않은 테이블의 과다한 양을 말하고 있다고 생각하지 않는다. –
예 오웬은 내가 의사 소통에 부족함을 드려 죄송합니다. – Michelle
"정상적으로 적절히 정상화 된"것은 본질적으로 의미가 없습니다. 제안 된 대안 : "정규화 된"은 [1NF] (http://en.wikipedia.org/wiki/First_normal_form) 이상을 의미하고, "완전 정규화"는 [5NF]를 의미합니다 (http://en.wikipedia.org/wiki/Fifth_normal_form) 또는 더 높게. – onedaywhen
NULL 값을 0으로 변경해야하므로 가장 쉬운 방법은 COALESCE(value, 0)
을 사용하는 것입니다.
COALESCE(value, value2, value3)
CASE
WHEN value1 IS NOT NULL THEN value1
WHEN value2 IS NOT NULL THEN value2
...
END
편집 : 실제로 테이블에 모두 0으로 NULLS를 업데이트하려면, 다음과 같은 SQL 문 할 수있는 :
을SELECT 'UPDATE '
+ OBJECT_NAME(OBJECT_ID)
+ ' SET '
+ sc.name
+ ' = 0 WHERE '
+ sc.name
+ ' IS NULL'
FROM sys.columns sc
INNER JOIN sys.types st ON st.system_type_id = sc.system_type_id
WHERE st.name IN ('bigint', 'int', 'smallint')
AND OBJECT_NAME(OBJECT_ID) = 'YourTable'
텍스트 문자열을 복사하여 붙여 넣거나 실행하거나 프로그램 방식으로 루프에서 실행할 수 있어야하는 것은 어느 것입니까? 그것은 숫자 데이터 유형을 가진 컬럼에 따라 다르며 실제로 널 (null)로 유지하려는 컬럼이있는 컬럼이 있으면 위험 할 수 있습니다. 모든 테이블에 대해 WHERE 절의 마지막 부분을 실행하여 테스트를 수행 할 수 있지만 사전에 테스트하고 유효성을 검사 할 수 있습니다.
테스트 할 준비가되지 않은 상태에서 SQL Server 인스턴스가 없으므로 일반적인 "자체 사용으로 인한 책임"에 대한 고지 사항이 있습니다. :-)
플랫폼에 따라 다르지만 경우에 따라 시스템 테이블 정보를 사용하여 모든 열의 목록을 가져와이를 사용하여 모든 테이블의 모든 열을 확인하는 쿼리를 생성 할 수 있습니다.
그러나 이는 상당히 해킹 될 수 있습니다. 진짜 질문은 a) 왜 그렇게 많은 null이 있는지 (좋은 이유가있을 수 있지만, Wil 당 구조가 잘못되었음을 암시한다) 그리고 b) 왜 모두를 0으로 바꿀 필요가 있는가? 이것은 숫자 필드에만 적용됩니까? 명확한 해결책이 명확 해지기 전에 질문해야 할 다른 많은 질문이 있습니다.
Select nvl(col,'0') from table ;
NVL은 oracle에서 정상적으로 작동합니다.
NVL은 col
이 null인지 확인하고, null 인 경우 0으로 변경합니다.
- 1. SQL- null 값 허용 여부 확인
- 2. Null 객체 패턴 확인 null
- 3. 데이터베이스에서 NULL 부울 값 확인
- 4. CoreData : Null 확인
- 5. null DataRow 확인
- 6. 텍스트 상자 Null 질문
- 7. SSIS Null 값 질문
- 8. MySQL NULL 질문
- 9. sql 질문 질문
- 10. Monotouch ABAdressBook GetPhones Null 확인
- 11. NOT NULL 조건 확인 인포믹스에서
- 12. OOP 디자인 질문 - 속성 확인
- 13. 유효성 확인 질문
- 14. MVC 유효성 확인 질문
- 15. 유효성 확인 L2S 질문
- 16. 어떻게 질문 여기가 확인?
- 17. PHP 유효성 확인 질문
- 18. C# ?? null 통합 연산자 질문
- 19. null 값 확인에 대한 질문
- 20. SQL Linq는 질문
- 21. SQL 오류, NULL?
- 22. SQL 개수가 NULL 셀
- 23. Sql Datareader null 값
- 24. SQL fulltext returned null
- 25. (PostgreSQL) "고급"제약 조건 확인 질문
- 26. 기본 SQL 모델링 질문
- 27. SQL 구문에 관한 질문
- 28. SQLite는 - SQL 질문 (101)
- 29. SQL 업데이트 질문
- 30. SQL 데이터베이스 구조 질문
플랫폼은 무엇입니까? 미시시피 SQL 서버, MySQL은, 오라클 ..? –
멋진 사진 : - P 'a' 열을 확인하려면'a is NULL '을 사용하십시오. 'a가 NULL 인 곳을 a = 0으로 설정하는 업데이트 테이블 '. – TMS
당신은 그것의 바로 SQL이야. SQL 프로그래밍 언어 ontop을 사용하지 않으십니까? –