我有一个SQL存储过程接受两个日期,但是当我在打开的查询中发送它们时,Oracle出于某种原因不喜欢日期格式。
在使用存储过程发送之前,如何将日期格式从YYYY-MM-DD
更改为dd-mm-yyyy
。
例如SET @startdate = CONVERT
答案 0 :(得分:4)
使用TO_DATE function将字符串值转换为Oracle DATE数据类型。
接受格式为YYYY-MM-DD的日期字符串:
v_start_date DATE := TO_DATE(v_date_string, 'YYYY-MM-DD');
接受DD-MM-YYYY格式的日期字符串:
v_start_date DATE := TO_DATE(v_date_string, 'DD-MM-YYYY');
答案 1 :(得分:-1)
您可以使用Oracle的TO_CHAR
功能。
/*retrieve from query*/
select TO_CHAR(reg_date,'YYYY-MM-DD') REGDATE from Users_TBL
/*Assign to variable*/
regDate := TO_CHAR(reg_date,'YYYY-MM-DD');