programing

다른 열이 null인 경우 열을 선택하십시오.

lastmoon 2023. 4. 17. 22:18
반응형

다른 열이 null인 경우 열을 선택하십시오.

프로그램이라는 필드를 선택해야 합니다.테이블의 ID와 프로그램의 경우ID가 NULL인 경우 Interim Program에서 값을 선택해야 합니다.동일한 테이블의 ID로 프로그램 별칭 지정아이디

이를 위해 조건부 SELECT 문을 작성하려면 어떻게 해야 합니까?

ISULL 기능이 필요합니다.

SELECT ISNULL(a, b)

b선택되는 경우anull 입니다.

또한 WHEN/THEN 선택 옵션, BOL에서 조회할 수 있습니다.기본적으로 c 스위치/케이스 블록은 SQL을 충족합니다.

  select COALESCE ( ProgramID , InterimProgramID ) as 'ProgramID' 

ISULL 함수 또는 COALESCE 함수 중 하나를 사용할 수 있습니다.하지만 둘 다 거의 같은 일을 한다.ISNULL2개의 파라미터만 사용합니다.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

반응형