0

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

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

这是插入语句。

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

out 参数声明为

outTime OUT DATE;

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

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

感谢您的任何见解。

4

1 回答 1

4

ADATE没有格式。日期的字符串表示具有格式,但 aDATE没有。

如果Table_TimeVARCHAR2格式中的(日期的字符串表示形式)yyyy-mm-dd hh24:mi:ss,那么您将希望使用TO_DATE将字符串转换为 a (我假设在此示例中DATE只有一行,否则将引发 a或异常。table_oneSELECT ... INTOno_data_foundtoo_many_rows

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

如果Table_Time是 a DATE,您只需将其分配给outTime

SELECT Table_Time
  into outTime
  FROM Table_One; 

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

于 2012-08-28T14:47:26.187 回答