我在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;
在其他程序包中的存储过程中。
我一直在寻找全局设置格式的方法,但我只需要设置此实例的格式。
感谢您的任何见解。
答案 0 :(得分:4)
DATE
没有格式。日期的字符串表示形式具有格式,但DATE
不具有格式。
如果Table_Time
是VARCHAR2
(日期的字符串表示形式),格式为yyyy-mm-dd hh24:mi:ss
,那么您可能希望使用TO_DATE
将字符串转换为DATE
(我假设此示例中table_one
中有一行,否则SELECT ... INTO
将引发no_data_found
或too_many_rows
例外。
SELECT TO_DATE(Table_Time, 'YYYY-MM-DD HH24:MI:SS')
into outTime
FROM Table_One;
如果Table_Time
是DATE
,您只需将其分配给outTime
SELECT Table_Time
into outTime
FROM Table_One;
如果要显示outTime
,则需要将DATE
转换为日期的字符串表示形式(VARCHAR2
)。此时,您可以使用TO_CHAR
功能。