반응형

oracle 41

sql join 같은 테이블에 행 2개를 연결합니다.

sql join 같은 테이블에 행 2개를 연결합니다. 저는 다음 표를 가지고 있습니다. Name Type Value --------------------- mike phone 123 mike address nyc bob address nj bob phone 333 나는 다음과 같은 결과를 얻고 싶습니다. name value value ------------------- mike nyc 123 bob nj 333 어떻게 하면 되죠?그것은 자기 join이라고 불립니다.별칭을 사용하는 것이 요령입니다. select address.name, address.value as address, phone.value as phone from yourtable as address left join yourtable as ..

programing 2023.09.26

WHERE 조항의 json 컬럼을 조건으로 사용하는 방법

WHERE 조항의 json 컬럼을 조건으로 사용하는 방법 해당 질문은 제목에 기재되어 있으며 아래는 데이터의 예입니다. insert into table A values('a','b', {'key':'value'}); 그리고 WHERE 절을 이용하여 키-값 쌍을 기준으로 이 행을 선택할 수 있으면 좋겠습니다.내가 어떻게 그럴 수 있을까?사용하다JSON_VALUE: SELECT t.* FROM tableA t WHERE JSON_VALUE(col3, '$.key') LIKE 'some_value' 이것은 JSON 값이 포함된 열을 가정합니다.{'key':'value'}라고 합니다.col3.Postgre를 사용하는 경우그러면 SQL은 아래 쿼리를 사용합니다. select * from table_name whe..

programing 2023.09.26

저장 프로시저 이름의 최대 길이가 있는 이유는 무엇입니까?

저장 프로시저 이름의 최대 길이가 있는 이유는 무엇입니까? 이 질문에는 이미 다음과 같은 답변이 있습니다. 닫힘11년 전에. 중복 가능: Oracle 테이블/열/인덱스 이름이 30자로 제한되는 이유는 무엇입니까? Oracle에서 저장 프로시저를 작성할 때 특히 설명적인 이름을 선택했고 스크립트를 업데이트하려고 할 때 이름이 너무 길다는 답변을 받았습니다. 37 15 PLS-00114: identifier 'blah_blah_blah_blah_blah_blah' too long 저장 프로시저 이름에 이렇게 제한적인 제한이 있는 이유는 무엇입니까?이것은 단지 Oracle에만 해당되는 것입니까, 아니면 다른 DB 시스템에서도 일반적인 것입니까? 중복해서 죄송합니다.오라클에서만 30자를 사용할 수 있습니다. D..

programing 2023.09.26

오라클에서 MINUS 연산자

오라클에서 MINUS 연산자 MINUS 연산자 저는 테이블 A와 B가 두 개 있습니다. SELECT COUNT(*) FROM (SELECT * FROM tableA) 반품 389 SELECT COUNT(*) FROM (SELECT * FROM tableB) 반품 217 SELECT COUNT(*) FROM (SELECT * FROM tableA INTERSECT SELECT * FROM tableB) 반환 0 SELECT COUNT(*) FROM (SELECT * FROM tableA MINUS SELECT * FROM tableB) 반품 389 SELECT COUNT(*) FROM (SELECT * FROM tableB MINUS SELECT * FROM tableA) 89로 돌아감 누가 마지막 쿼리가..

programing 2023.09.16

일치조건시열값변경

일치조건시열값변경 A를 교체해야 합니다.NULL다른 조건이 일치하는 경우에만 열의 값을 지정합니다. Columns: Parent, Child, flag01, lag02 상위 열에 많은 수가 있습니다.NULLvalues, 그러나 나는 대체하고 싶습니다.null값은 다음과 같습니다.flag01그리고.flag02"괜찮습니다. 한다면flag01그리고.flag02둘 다입니다"Ok" 부모가 NULL이고 'CT_00000'으로 바꿉니다.그렇지 않으면 원래 값을 유지합니다(NOT NULL인 경우).그래서 나는 당신이 선별된 진술을 원하는 것처럼 생각합니다. select case when (parent is null and flag01 = 'OK' and flag02 = 'OK') then 'CT_00000' else ..

programing 2023.09.16

Oracle은 커서로 즉시 실행

Oracle은 커서로 즉시 실행 나는 저장된 절차를 가지고 있습니다.EXECUTE IMMEDIATE매우 긴 문자열을 실행하는 명령입니다.매우 긴 문자열을 지원하고 데이터를 리플렉터로 되돌리는 방법은 무엇입니까?@Tony Andrews가 암시한 대로 SQL이 32K보다 길지 않다고 가정하면 다음과 같은 것을 사용할 수 있습니다. declare SQL_Text varchar2(32760) := 'select * from dual'; --your query goes here cur sys_refcursor; begin open cur for SQL_Text; end; 기준 커서로 작업할 때,open-for대신 직접 사용할 수 있습니다.execute immediate.언급URL : https://stackove..

programing 2023.09.16

정의되지 않은 함수 oci_connect() 호출

정의되지 않은 함수 oci_connect() 호출 저는 이 오류를 당했습니다. Fatal error: Call to undefined function oci_connect() $conn = oci_connect('localhost', 'username', 'password') or die(could not connect:'.oci_error) 그것이 코드입니다. 이것이 제가 받은 오류입니다. Fatal error: Call to undefined function oci_connect() in C:\xampp\htdocs\org\org\php\myphp.php on line 51 ext 폴더에 있는 PHP DLL 파일을 확인했습니다.저는 이 문제와 싸우는데 꼬박 3일을 보냅니다. 윈도우 7에서 오라클 연결..

programing 2023.09.16

Oracle은 날짜에 '%'와 같이 사용

Oracle은 날짜에 '%'와 같이 사용 나의 테이블myTab열이 있습니다.startDate, "DATE"라는 데이터 유형을 가지고 있습니다.이 열의 데이터는 다음과 같이 저장됩니다.dd.mm.yyyy. 이제 다음 쿼리를 사용하여 데이터를 가져오려고 합니다. SELECT * FROM myTab WHERE startDate like '%01.2015" 어찌된 영문인지 효과가 없는데 왜 그런지 모르겠습니다. 누군가 도와줬으면 좋겠습니다.날짜에 텍스트를 검색하려면 날짜를 텍스트로 변환해야 합니다. 찾고 싶은 것에 대한 첫 번째 날짜와 마지막 날짜를 계산하고 그 사이에 모든 것을 얻는 것이 더 효율적입니다.이렇게 하면 텍스트 패턴 일치 대신 숫자 비교로 수행되며, 인덱스가 있는 경우 인덱스를 사용할 수 있습니다..

programing 2023.09.16

Tomcat에서 Oracle을 사용하여 JNDI 데이터 원본 설정

Tomcat에서 Oracle을 사용하여 JNDI 데이터 원본 설정 Tomcat 7.0에서 JNDI에서 얻은 DataSource에서 연결을 가져오도록 할 수 없으므로 다음과 같은 오류가 발생합니다. org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of cla ss '' for connect URL 'null' 저는 여러 가지 방법으로 의사와 다른 사람들의 제안을 따랐지만, 여전히 그것을 고칠 수 없었습니다.내 설정은 다음과 같습니다. web.xml에서: MyDataSource jdbc/MyDataSource javax.sql.DataSource Container context.xml: 그것도 server.xml에 넣으려고 ..

programing 2023.09.11

오라클 타임스탬프 값을 현재에서 과거의 타임스탬프로 업데이트하는 방법

오라클 타임스탬프 값을 현재에서 과거의 타임스탬프로 업데이트하는 방법 오라클 테이블이라는 것이 있습니다.EVENT_TABLE_T. 라는 기둥이 있습니다.LAST_UPDATE_DT. 이 열의 하나의 표본 값은 다음과 같습니다.01-JUL-13 11.20.22.37448900 AM. 이 타임스탬프 값이 같은 행은 700개가 넘습니다.SQL 문을 사용하여 이 값을 45일 전으로 업데이트하고 싶습니다.예를들면,01-JUL-13 11.20.22.37448900 AM, 내가 계산한 후에 다음과 같이 될 것입니다.15-May-13 11.00.00......(최소 45일).만약 이것이 성공적이라면, 나는 다른 값에 대한 업데이트를 적용하고 싶습니다.LAST_UPDATE_DT46일 전으로 거슬러 올라가는 값을 반영하고 ..

programing 2023.09.11
반응형