SQL存储过程转换日期参数

时间:2010-10-07 01:25:00

标签: sql oracle stored-procedures plsql

我有一个SQL存储过程接受两个日期,但是当我在打开的查询中发送它们时,Oracle出于某种原因不喜欢日期格式。

在使用存储过程发送之前,如何将日期格式从YYYY-MM-DD更改为dd-mm-yyyy

例如SET @startdate = CONVERT

2 个答案:

答案 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');