PL / SQL 매개 변수로 지정된 YYYYMMDD 날짜를 확인하는 방법

리에 트 주 스테

ADD_COMPLEX_SALE이라는 SP가 있습니다. custid, prod id, qty 및 date (varchar2)의 4 개의 매개 변수를 얻습니다.

날짜를 확인하고 올바른 형식인지 확인해야합니다. 프로 시저에 YYYYMMDD로 전송됩니다.

이것이 내가 지금까지 가지고있는 것입니다.

IF (LENGTH(pdate) != 8) THEN
    raise_application_error (-20093,' Date not valid');
ELSIF (LENGTH(pdate) = 8)THEN
    vDATE := CONVERT(VARCHAR(10), pdate(), 111) AS [YYYY/MM/DD];
  END IF;

IF (pdate != 'YYYY/MM/DD') THEN
    raise_application_error (-20093,' Date not valid');
  END IF; 

기본적으로 아이디어는 '실제'날짜 형식으로 변환하여 올바른 형식인지 확인할 수 있습니다. 이 오류가 발생하는 것을 제외하고. 여전히 매우 새로운 PL / SQL이므로 어떤 도움을 주시면 감사하겠습니다.

오류 (42,49) : PLS-00103 : 다음 중 하나를 예상 할 때 "AS"기호를 발견했습니다.. (* % & =-+; </> at in은 mod 나머지가 아닙니다 rem <> 또는! = 또는 ~ => = <= <> 및 또는 like2 like4 likec between || multiset member submultiset

최신 정보:

코드를 다음과 같이 변경했습니다.

 vDATE := TO_DATE(pdate, 'yyyymmdd');
 IF (pdate != vDATE) THEN
   raise_application_error (-20093,' Date not valid');
 END IF;
 IF (LENGTH(vDATE) != 8) THEN
    raise_application_error (-20093,' Date not valid');
 END IF;

이제이 오류가 발생합니다.

ORA-20000 : 다른 오류가 발생했습니다 ORA-01861 : 리터럴이 형식 문자열과 일치하지 않습니다

편집 : 마지막 업데이트 오류는 매개 변수가 varchar2이고 변환이 완료된 후 pdate 대신 vDATE를 삽입하는 것을 잊었습니다.

저스틴 케이브

convert(varchar(10), pdate(), 111)SQL Server convert기능 을 사용하려는 시도 인 것 같습니다. Oracle에서는 작동하지 않습니다.

나는 그냥 뭔가를 할거야

DECLARE
  l_dt date;
BEGIN
  l_dt := to_date( pdate, 'yyyymmdd' );
EXCEPTION
  WHEN others
  THEN
    raise_application_error( -20001, pdate || ' is not a date in the format YYYYMMDD' );
END;

물론 길이가 정확하지 않은 경우 다른 예외를 던질 수 있도록 여러 검사를 수행하거나 날짜가 합당한 지 확인하기 위해 몇 가지 검사를 추가 할 수 있습니다 (즉, 지난 100 년 이내 또는 100 년 이내 여야 함). 미래 등) to_date변환 후에 그렇게 할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

첫 번째 날짜에서 마지막 날짜까지 사용자 입력 매개 변수를 코딩하는 방법 (SQL 쿼리 관리자)

분류에서Dev

날짜 매개 변수가있는 PL / SQL 함수가 잘못된 출력을 반환 함

분류에서Dev

매개 변수 날짜를 URL 디스패처에 전달하지만 명명 된 매개 변수로 전달하는 방법

분류에서Dev

두 개의 날짜 매개 변수를 범위로 사용하고 그 사이의 날짜가 회문인지 확인하는 함수를 만드는 방법을 알아낼 수 없습니다.

분류에서Dev

오라클에서 날짜와 날짜에 대한 매개 변수를 설정하는 방법

분류에서Dev

날짜 및 하나 이상의 매개 변수별로 정렬하는 방법

분류에서Dev

Oracle PL / SQL 매개 변수에 특수 문자가 있는지 확인

분류에서Dev

SQL로 정수 열의 날짜 열에 날짜를 추가하는 방법

분류에서Dev

자바에서 매개 변수없이 PL / SQL 함수를 호출하는 방법

분류에서Dev

날짜 및 시간 매개 변수로 ssrs 쿼리를 수행하는 방법

분류에서Dev

Oracle SQL에서 이중 테이블을 사용하여 지정된 날짜 형식으로 지정된 날짜를 변환하는 방법

분류에서Dev

오늘 날짜를 매개 변수로 구문 분석하는 방법

분류에서Dev

날짜 매개 변수를 전달하지 않고 디렉토리에서 마지막으로 생성 된 3 개의 파일을 보는 방법

분류에서Dev

날짜와 연도를 날짜 YYYYMMDD로 변환하는 방법은 무엇입니까?

분류에서Dev

날짜 매개 변수에서 지난 3 개월 데이터를 선택하는 방법

분류에서Dev

개체를 타임 스탬프로 서식이 지정된 날짜로 변환하는 방법

분류에서Dev

URL 쿼리 매개 변수에서 큰 따옴표로 묶인 문자열이 포함 된 레일 매개 변수 해시를 확인하는 방법

분류에서Dev

SQL 판매 된 10 개 제품이 매개 변수 당 전달되는 날짜를 반환합니다.

분류에서Dev

angularjs에서 쿼리 매개 변수를 확인하여 페이지로 리디렉션하는 방법

분류에서Dev

PHP-PL / SQL : Oracle 프로 시저의 OUT 매개 변수로 배열을 PHP로 읽는 방법

분류에서Dev

Oracle PL / SQL 개발자의 시간대를 확인하는 방법

분류에서Dev

UWP-달력 날짜 선택기의 날짜를 지정된 날짜 형식으로 변환하는 방법

분류에서Dev

autosys를 사용하여 날짜 매개 변수를 변경하지 않고 저장 프로 시저를 실행하는 방법

분류에서Dev

Python Pandas에서 SQL 저장 프로 시저를 실행하기 위해 날짜 매개 변수를 전달하는 방법

분류에서Dev

날짜 매개 변수를 전달하는 SQL Server 저장 프로 시저

분류에서Dev

매개 변수 팩에 정확한 순서로 정확한 유형이 있는지 확인하는 방법

분류에서Dev

Mockito, 마지막으로 호출되었을 때 ther 메서드의 매개 변수를 확인하는 방법

분류에서Dev

URL 쿼리 매개 변수를 형식이 지정된 배열로 변환하는 가장 좋은 방법

분류에서Dev

pandas.read_sql의 매개 변수를 사용하여 날짜 사이에 SQLite 테이블에서 Python Pandas로 데이터를 가져 오는 방법

Related 관련 기사

  1. 1

    첫 번째 날짜에서 마지막 날짜까지 사용자 입력 매개 변수를 코딩하는 방법 (SQL 쿼리 관리자)

  2. 2

    날짜 매개 변수가있는 PL / SQL 함수가 잘못된 출력을 반환 함

  3. 3

    매개 변수 날짜를 URL 디스패처에 전달하지만 명명 된 매개 변수로 전달하는 방법

  4. 4

    두 개의 날짜 매개 변수를 범위로 사용하고 그 사이의 날짜가 회문인지 확인하는 함수를 만드는 방법을 알아낼 수 없습니다.

  5. 5

    오라클에서 날짜와 날짜에 대한 매개 변수를 설정하는 방법

  6. 6

    날짜 및 하나 이상의 매개 변수별로 정렬하는 방법

  7. 7

    Oracle PL / SQL 매개 변수에 특수 문자가 있는지 확인

  8. 8

    SQL로 정수 열의 날짜 열에 날짜를 추가하는 방법

  9. 9

    자바에서 매개 변수없이 PL / SQL 함수를 호출하는 방법

  10. 10

    날짜 및 시간 매개 변수로 ssrs 쿼리를 수행하는 방법

  11. 11

    Oracle SQL에서 이중 테이블을 사용하여 지정된 날짜 형식으로 지정된 날짜를 변환하는 방법

  12. 12

    오늘 날짜를 매개 변수로 구문 분석하는 방법

  13. 13

    날짜 매개 변수를 전달하지 않고 디렉토리에서 마지막으로 생성 된 3 개의 파일을 보는 방법

  14. 14

    날짜와 연도를 날짜 YYYYMMDD로 변환하는 방법은 무엇입니까?

  15. 15

    날짜 매개 변수에서 지난 3 개월 데이터를 선택하는 방법

  16. 16

    개체를 타임 스탬프로 서식이 지정된 날짜로 변환하는 방법

  17. 17

    URL 쿼리 매개 변수에서 큰 따옴표로 묶인 문자열이 포함 된 레일 매개 변수 해시를 확인하는 방법

  18. 18

    SQL 판매 된 10 개 제품이 매개 변수 당 전달되는 날짜를 반환합니다.

  19. 19

    angularjs에서 쿼리 매개 변수를 확인하여 페이지로 리디렉션하는 방법

  20. 20

    PHP-PL / SQL : Oracle 프로 시저의 OUT 매개 변수로 배열을 PHP로 읽는 방법

  21. 21

    Oracle PL / SQL 개발자의 시간대를 확인하는 방법

  22. 22

    UWP-달력 날짜 선택기의 날짜를 지정된 날짜 형식으로 변환하는 방법

  23. 23

    autosys를 사용하여 날짜 매개 변수를 변경하지 않고 저장 프로 시저를 실행하는 방법

  24. 24

    Python Pandas에서 SQL 저장 프로 시저를 실행하기 위해 날짜 매개 변수를 전달하는 방법

  25. 25

    날짜 매개 변수를 전달하는 SQL Server 저장 프로 시저

  26. 26

    매개 변수 팩에 정확한 순서로 정확한 유형이 있는지 확인하는 방법

  27. 27

    Mockito, 마지막으로 호출되었을 때 ther 메서드의 매개 변수를 확인하는 방법

  28. 28

    URL 쿼리 매개 변수를 형식이 지정된 배열로 변환하는 가장 좋은 방법

  29. 29

    pandas.read_sql의 매개 변수를 사용하여 날짜 사이에 SQLite 테이블에서 Python Pandas로 데이터를 가져 오는 방법

뜨겁다태그

보관