다른 열이 null인 경우 열을 선택하십시오.
프로그램이라는 필드를 선택해야 합니다.테이블의 ID와 프로그램의 경우ID가 NULL인 경우 Interim Program에서 값을 선택해야 합니다.동일한 테이블의 ID로 프로그램 별칭 지정아이디
이를 위해 조건부 SELECT 문을 작성하려면 어떻게 해야 합니까?
ISULL 기능이 필요합니다.
SELECT ISNULL(a, b)
b
선택되는 경우a
null 입니다.
또한 WHEN/THEN 선택 옵션, BOL에서 조회할 수 있습니다.기본적으로 c 스위치/케이스 블록은 SQL을 충족합니다.
select COALESCE ( ProgramID , InterimProgramID ) as 'ProgramID'
ISULL 함수 또는 COALESCE 함수 중 하나를 사용할 수 있습니다.하지만 둘 다 거의 같은 일을 한다.ISNULL
2개의 파라미터만 사용합니다.COALESCE
는 복수의 파라미터를 취합니다(최초로 검출된 비파라미터를 제외합니다).둘 다 첫 번째 파라미터와 두 번째 파라미터를 시도합니다(COALESCE는 계속됩니다).
DECLARE @IAMNULL VARCHAR
DECLARE @IAMNOTNULL VARCHAR
SET @IAMNOTNULL = 'NOT NULL'
SELECT ISNULL(@IAMNULL, @IAMNOTNULL)
--Output: 'NOT NULL'
DECLARE @IAMNULLALSO VARCHAR
SELECT COALESCE(@IAMNULL, @IAMNULLALSO, @IAMNOTNULL)
--Output: 'NOT NULL'
SELECT ProgramID
FROM a_table
WHERE ProgramID IS NOT NULL
UNION
SELECT InterimProgramID AS ProgramID
FROM a_table
WHERE ProgramID IS NULL;
병합('zzz-' + 프로그램)ID, 중간아이디) 프로그램ID는 여전히 프로그램을 무시합니다.핑계 값이 있더라도 ID입니다.멋지고 작은 기능이야
또, 다음과 같은 것도 있습니다.
Select NVL(Column_A, Column_B) From 'schema'.'table_name'
NVL() 기능은 MySQL 또는 SQL Server가 아닌 Oracle에서 사용할 수 있습니다.이 함수는 NULL 값을 다른 값으로 바꾸기 위해 사용됩니다.MySQL의 IFNULL 함수 및 SQL Server의 ISNULL 함수와 유사합니다.
https://www.1keydata.com/sql/sql-nvl.html
IFNULL 함수를 사용할 수도 있습니다.
select IFNULL(ProgramId,interimId) as ProgramId
언급URL : https://stackoverflow.com/questions/9878523/select-a-column-if-other-column-is-null
'programing' 카테고리의 다른 글
"find: paths must preference expression:" 현재 디렉토리에서 파일을 찾는 재귀 검색을 지정하려면 어떻게 해야 합니까? (0) | 2023.04.17 |
---|---|
디스크에 로그를 백업한 후에도 로그 파일의 DBCC SHRINGFILE이 크기를 줄이지 않음 (0) | 2023.04.17 |
UITableView 헤더 섹션 커스터마이즈 (0) | 2023.04.17 |
XAML 결합 스타일은 BasedOn을 넘어서는가? (0) | 2023.04.17 |
Postgre 최적화신속한 테스트를 위한 SQL (0) | 2023.04.17 |