2012-05-29 6 views
1

나는 이런 (부분적으로) 보이는 오라클 쿼리가 : 나는 SSRS에서이 쿼리를 넣어오라클 SQL 개발자 쿼리의 매개 변수에 리터럴 날짜를 바인딩

where Doc3.clinicalDate >= ml.convert_date_to_id(:DateBegin) 
    and Doc3.clinicalDate < ml.convert_date_to_id(:DateEnd) 

하고 보고서를 설정을 및 데이터 집합 매개 변수, 그것은 잘 작동합니다. 그러나 Oracle SQL Developer에 붙여 넣으면 "Enter Binds"라는 창이 나타납니다. "date '2011-06-01'"을 넣을 때 "ORA-01858 : 숫자가 아닌 곳에서 숫자가 아닌 문자가 발견되었습니다"라는 오류 메시지가 나타납니다. 실제로 이해할 수있는 형식으로 날짜를 어떻게 전달합니까? 감사.

+2

데이터베이스의 기본 날짜 형식에 따라 달라집니다. 2011 년 6 월 1 일, 2011 년 6 월 1 일, 2011-06-01 (참고 : 문자열을 만들 수있는 아포스트로피가 없어도됩니다.) –

+0

01-JUN-2011이 티켓이었습니다. :-) 당신은 너무 친절해서 대답으로 받아 들일 수 있을까요? – SarekOfVulcan

+0

답변을 게시 됨. –

답변

5

데이터베이스의 기본 날짜 형식에 따라 달라집니다. 2011 년 6 월 1 일, 2011 년 6 월 1 일, 2011-06-01 (참고 : 문자열을 만들 수있는 아포스트로피가 없어도됩니다.)

2

일반적인 문제입니다. to_date(:DateEnd,'DD/MM/YYYY')을 사용하여 쿼리를 변경합니다. 날짜가 varchar로 사용되고 날짜로 변환됩니다.

관련 문제