2014-09-30 2 views
0

2 개의 선택을하고이를 UNION과 결합해야합니다. 여태까지는 그런대로 잘됐다. 문제는 값이없는 필드의 경우 실제 열 대신 "0"을 넣을 수 있지만 문자열 값은 무엇입니까? 다음 예제가 작동하지 않는다는 것을 알고 있습니다.그룹별로 빈 문자열

Select field1, field2, 0, 0 from AnyTable 
... 
UNION 
Select '','',sum(field3),sum(field4) from AnyTable2 
... 

그래서 ''대신 무엇을 사용합니까?

+0

빈 문자열 '' ''에서 각 컬럼의 개별 DATA TYPE의주의 Null' –

+1

'동일 작동 - 어떤 오류가 발생합니까? 빈 문자열은 null과 동일하지만'''''null '을 바꾸면 기능상의 차이는 없으며, 더 정상적이고 더 명시적일 것입니다 ...'field1' 또는'field2'가'varchar2'가 아니라면; 데이터 유형은 무엇입니까? –

+0

오 이런, 정말 당황 스럽네. 사실 내가 다른 것을 사용하고있을 때 하나의 데이터 유형을 사용하고 있다고 생각했다. 나는 그것이 varchar2 였다고 확신했지만 정수 (젠장, 그 오해의 소지가있는 필드 이름 ..). 내 실수. 그러나 주석과 답변을 주셔서 감사합니다. 솔루션을 찾는데 도움이되었습니다. 감사합니다 –

답변

1

오라클의 zero length stringNULL으로 간주됩니다. NULL 값을 어떤 값으로 변환하려면 NVL 함수를 사용해야합니다.

SQL> select nvl(null, 'This is null') val from dual; 

VAL 
------------ 
This is null 

: 그것을하지 않는 이유는 오라클 SQL 언어의 경우에 UNION

+0

응답을위한 감사드립니다, 이것은 진짜 도움이 될 것이다 :) –