如何在Oracle中调整输出参数的日期时间格式?

时间:2012-08-28 14:41:03

标签: sql oracle

我在oracle中有一个输出参数叫做DATE类型的outTime。其格式设置为yyyy-mm-dd,我需要能够在选择时将表中的时间包括在内。

我一直收到错误:日期格式图片在转换整个输入字符串之前结束。

这里是insert into statement。

SELECT TO_CHAR(Table_Time, 'YYYY-MM-DD HH24:MI:SS') into outTime
FROM Table_One; 

out参数声明为

outTime OUT DATE;

在其他程序包中的存储过程中。

我一直在寻找全局设置格式的方法,但我只需要设置此实例的格式。

感谢您的任何见解。

1 个答案:

答案 0 :(得分:4)

DATE没有格式。日期的字符串表示形式具有格式,但DATE不具有格式。

如果Table_TimeVARCHAR2(日期的字符串表示形式),格式为yyyy-mm-dd hh24:mi:ss,那么您可能希望使用TO_DATE将字符串转换为DATE(我假设此示例中table_one中有一行,否则SELECT ... INTO将引发no_data_foundtoo_many_rows例外。

SELECT TO_DATE(Table_Time, 'YYYY-MM-DD HH24:MI:SS') 
  into outTime
  FROM Table_One; 

如果Table_TimeDATE,您只需将其分配给outTime

SELECT Table_Time
  into outTime
  FROM Table_One; 

如果要显示outTime,则需要将DATE转换为日期的字符串表示形式(VARCHAR2)。此时,您可以使用TO_CHAR功能。