|
|
|
|
|
|
| Author |
Message |
Ken Denny *nix forums beginner
Joined: 08 Apr 2005
Posts: 16
|
Posted: Wed Feb 23, 2005 7:08 pm Post subject:
Re: Please Help: ORA-01847 for valid date
|
|
|
wdewebserver wrote:
| Quote: | Hi
I have written the following stored procedure hoping to extract data
from a
table. When I call the stored proc using a date like 10-11-2004, I
get an
error ORA-01847: day of month must be between 1 and last day of
month.
Procedure "dynamic"
(
vTABLE_NAME IN CHAR,
vCREATED_DATE IN CHAR,
vREF_CURSOR OUT GLOA.RCT
)
AS
V_STRING VARCHAR2(1000);
BEGIN
V_STRING := 'SELECT XRED, YFER FROM '||vTABLE_NAME||' '||
'WHERE CREATED_DATE =
TO_DATE('||vCREATED_DATE||',''DD-MM-YYYY'')'
OPEN vREF_CURSOR FOR V_STRING;
END dynamic;
|
Probably because you need quotes around the created_date in the query
V_STRING := 'SELECT XREF, YFER FROM '||vTABLE_NAME||' '||
'WHERE CREATED_DATE = TO_DATE('''||vCREATED_DATE||''',''DD-MM-YYYY'')'
Also are you sure created_date in the table is a truncated date? If
it's not you will only get those whose time portion is midnight. You
may want to say "WHERE trunc(CREATED_DATE) = ".
Good luck with it
Ken Denny |
|
| Back to top |
|
 |
casey.kirkpatrick@gmail.c *nix forums beginner
Joined: 08 Jun 2005
Posts: 20
|
Posted: Tue Feb 22, 2005 7:03 pm Post subject:
Re: Please Help: ORA-01847 for valid date
|
|
|
It's called debugging.
Rather than OPEN your V_STRING (and report errors to a public
discussion board), why not print V_STRING, and see what your SELECT
actually looks like. |
|
| Back to top |
|
 |
DA Morgan *nix forums Guru
Joined: 06 Mar 2005
Posts: 1042
|
Posted: Tue Feb 22, 2005 6:46 pm Post subject:
Re: Please Help: ORA-01847 for valid date
|
|
|
wdewebserver wrote:
| Quote: | Hi
I have written the following stored procedure hoping to extract data from a
table. When I call the stored proc using a date like 10-11-2004, I get an
error ORA-01847: day of month must be between 1 and last day of month.
Procedure "dynamic"
(
vTABLE_NAME IN CHAR,
vCREATED_DATE IN CHAR,
vREF_CURSOR OUT GLOA.RCT
)
AS
V_STRING VARCHAR2(1000);
BEGIN
V_STRING := 'SELECT XRED, YFER FROM '||vTABLE_NAME||' '||
'WHERE CREATED_DATE = TO_DATE('||vCREATED_DATE||',''DD-MM-YYYY'')'
OPEN vREF_CURSOR FOR V_STRING;
END dynamic;
|
Change CHAR to VARCHAR2. Likely you are padding vTABLE_NAME and
v_CREATED_DATE out to 2000 bytes.
--
Daniel A. Morgan
University of Washington
damorgan@x.washington.edu
(replace 'x' with 'u' to respond) |
|
| Back to top |
|
 |
wdewebserver *nix forums beginner
Joined: 22 Feb 2005
Posts: 5
|
Posted: Tue Feb 22, 2005 6:06 pm Post subject:
Please Help: ORA-01847 for valid date
|
|
|
Hi
I have written the following stored procedure hoping to extract data from a
table. When I call the stored proc using a date like 10-11-2004, I get an
error ORA-01847: day of month must be between 1 and last day of month.
Procedure "dynamic"
(
vTABLE_NAME IN CHAR,
vCREATED_DATE IN CHAR,
vREF_CURSOR OUT GLOA.RCT
)
AS
V_STRING VARCHAR2(1000);
BEGIN
V_STRING := 'SELECT XRED, YFER FROM '||vTABLE_NAME||' '||
'WHERE CREATED_DATE = TO_DATE('||vCREATED_DATE||',''DD-MM-YYYY'')'
OPEN vREF_CURSOR FOR V_STRING;
END dynamic; |
|
| Back to top |
|
 |
Google
|
|
| Back to top |
|
 |
|
|
The time now is Thu Jan 08, 2009 5:17 am | All times are GMT
|
|
Budapest | Yugioh | Credit Cards | Mobile Phones | Credit Score
|
|
Copyright © 2004-2005 DeniX Solutions SRL
|
|
|
|
Other DeniX Solutions sites:
Unix/Linux blog |
electronics forum |
medicine forum |
science forum |
|
|
Privacy Policy
|
Powered by phpBB © 2001, 2005 phpBB Group
|
|