Sql 试图强制Oracle APEX中的2位数字使用_CHAR;获取“无法绑定”错误
ORACLE APEX 4.2 我正在使用长度和持续时间值,并使用3个整数字段来存储小时、分钟和秒Datetime不适用于计算。一切都与我的计算一起工作,但我在以HH:MM:SS格式连接值以显示在报告中时遇到问题Sql 试图强制Oracle APEX中的2位数字使用_CHAR;获取“无法绑定”错误,sql,oracle,oracle-apex,Sql,Oracle,Oracle Apex,ORACLE APEX 4.2 我正在使用长度和持续时间值,并使用3个整数字段来存储小时、分钟和秒Datetime不适用于计算。一切都与我的计算一起工作,但我在以HH:MM:SS格式连接值以显示在报告中时遇到问题 SELECT (Length_hour || ':' || Length_Min || ':' || Length_SEC) as "Length" FROM TBL_VIDEO 上面的工作,但给我的H:M:S 我现在试图强制使用的第一个数字如下所示: SELECT (Length_
SELECT (Length_hour || ':' || Length_Min || ':' || Length_SEC) as "Length"
FROM TBL_VIDEO
上面的工作,但给我的H:M:S
我现在试图强制使用的第一个数字如下所示:
SELECT (Length_hour || ':' || Length_Min || ':' || Length_SEC) as "Length", TO_CHAR(Length_Min, '01') as "Temp"
FROM TBL_VIDEO
但这给了我以下错误:
无法绑定01验证项的长度是否小于等于30字节。使用v语法引用长度超过30字节的项。ORA-01006:绑定变量不存在
它似乎希望引用“01”和“item”,但这正是所需的格式
你知道为什么会发生这种情况,以及我如何实现我的格式吗?从一个完全不同的方向着手尝试以下方法:
SELECT (Length_hour || ':' || Length_Min || ':' || Length_SEC) as "Length"
, regexp_substr(
to_char(
numtodsinterval(
Length_hour*3600+Length_Min*60+Length_SEC
, 'second'))
, '[^+0 ]([^.]*)'
) as "Temp"
FROM TBL_VIDEO
在这段代码中,第二列将数字列转换为day-to-second类型的间隔,将其转换为+00000000:00:00.0000000格式的字符串,然后使用正则表达式仅提取非小数时间部分加上任何天0。regexp_substr不希望间隔为正值而不是负值。如果需要前导零,则格式掩码应为“00”或“09”,而不是“01”。我尝试了这两种方法,在任何情况下都会得到相同的结果。错误消息表示它与绑定值有问题,尝试用chr58替换冒号:例如:选择长度|小时| chr58 |长度|分钟| chr58 | |长度|秒作为从TBL到|字符长度|分钟的长度,“01”在隔离状态下失败。“:”在不添加字符时工作正常遇到上述错误时,您使用的实际查询是什么?您提供了一个您认为有效的查询,但不是无效的查询。给了我相同的错误:无法绑定FM00验证项的长度是否小于30字节。使用v语法引用长度超过30字节的项。