SELECT FROM DUAL로 여러 행이 가능합니까?
이런 것 좀 주시겠어요?
SELECT (1, 2, 4542, 342) FROM DUAL;
그리고 이렇게 얻는 것은?
| 1 |
| 2 |
| 4542 |
| 342 |
대신에DUAL
여러 행을 반환하려면 미리 작성된 컬렉션에서 선택합니다.이 솔루션은 구문이 작고 유형 변환을 방지하며 잠재적으로 느린 재귀 쿼리를 방지합니다.하지만 다른 해결책들도 이해하는 것이 좋습니다. 왜냐하면 그것들은 모두 다른 맥락에서 유용하기 때문입니다.
select column_value from table(sys.odcinumberlist(1, 2, 4542, 342));
참고:TABLE()
operator는 최신 버전의 Oracle에서는 선택 사항이며 이전 버전에서만 필요합니다.
음 만약에(1, 2, 4542, 342)
당신이 할 수 있는 것은 다음과 같습니다.
with cte as (
SELECT '1, 2, 4542, 342' as str
FROM DUAL
)
select regexp_substr(str,'[^,]+',1,level)
from cte
connect by level <= regexp_count(str, ',')+1
/
아니요.dual
행이 하나뿐이지만 사용할 수 있습니다.union all
:
SELECT 1 FROM DUAL UNION ALL
SELECT 2 FROM DUAL UNION ALL
SELECT 4542 FROM DUAL UNION ALL
SELECT 342 FROM DUAL;
이는 Oracle에서 "즉시" 테이블을 생성하는 한 가지 방법일 뿐입니다.
select decode(level,3,4542,4,342,level) lvl from dual connect by level <= 4
이중 테이블은 기본적으로 하나의 행과 하나의 열을 가지며 sys 스키마에 존재하는 더미 테이블입니다.
SELECT (1,2, 4542, 342) FROM DUAL;
이 표에서 두 개 이상의 열을 통과했기 때문에 오류가 발생합니다. 1,2,4542,342개의 열이 별도의 열로 처리됩니다.아래 쿼리를 사용해 보십시오.
SELECT ('1,2, 4542, 342') FROM DUAL;
'1,2,4542,342'는 단일 문자열로 처리됩니다.
필요한 출력은 UNION ALL 연산자를 사용할 수 있습니다.다음 질문을 시도해 보십시오.
SELECT 1 FROM DUAL UNION ALL SELECT 2 FROM DUAL UNION ALL SELECT 4542 FROM DUAL UNION ALL SELECT 342 FROM DUAL;
이중 테이블에는 여러 행과 여러 열이 있을 수 있습니다(예: =>
SQL> select 1, 'john' from dual
2 union
3 select 2, 'smith' from dual;
1 'JOHN
---------- -----
1 john
2 smith
기타 화이트 별칭:
column_value를 sys.odcin 번호 목록에서 xvalue로 선택(1, 2, 4542, 342 );
언급URL : https://stackoverflow.com/questions/50212079/is-it-possible-to-have-multiple-rows-with-select-from-dual
'programing' 카테고리의 다른 글
div에서 클립보드로 텍스트를 복사하는 방법 (0) | 2023.08.20 |
---|---|
ID가 배열에 있는 mysql (0) | 2023.08.20 |
SweetAlert2를 사용하여 탐지되지 않음(약속 없음) 취소 (0) | 2023.08.20 |
Jquery UI 대화 상자에서 "확인" 대화 상자를 구현하는 방법은 무엇입니까? (0) | 2023.08.20 |
django-el-pagination에 대해 다중 페이지화(ajax)가 작동하지 않습니다. (0) | 2023.08.20 |