Oracle 我怎样才能修好它?
我有以下疑问:Oracle 我怎样才能修好它?,oracle,oracle12c,Oracle,Oracle12c,我有以下疑问: SELECT parameter1, parameter1 FROM kcrt_table_entries WHERE parameter_set_field_id = (SELECT parameter_set_field_id FROM knta_parameter_set_fields WHERE PROMPT = 'Matrix:'
SELECT parameter1, parameter1
FROM kcrt_table_entries
WHERE parameter_set_field_id = (SELECT parameter_set_field_id
FROM knta_parameter_set_fields
WHERE PROMPT = 'Matrix:'
)
AND request_id = (SELECT kr.request_id
FROM kcrt_requests kr
WHERE kr.request_type_id = (SELECT request_type_id
FROM kcrt_request_types
WHERE request_type_name = 'RHB - Risk Rating Questionnaire'
)
AND kr.status_id = (SELECT status_id
FROM kcrt_statuses
WHERE status_name = 'Admin-Reading'
)
)
AND parameter2 < 100
AND parameter3 >= 100
当我运行它时,它会给我以下错误:
ORA-01722:无效号码
172200000-无效号码
*原因:指定的数字无效。
*操作:指定一个有效的数字
请帮我解决这个问题 为什么选择参数1两次
从您得到的错误来看:列名似乎应该匹配,至少通过查看它们的名称,例如request_id to request_id,status_id to status_id,等等。所以剩下的是最后两行:
AND parameter2 < 100
AND parameter3 >= 100
如果这些列的数据类型不是NUMBER而是VARCHAR2,那么应该将100括在单引号中,即使用“100”
如果这样做没有帮助,请提供一些额外的信息来说明表格是否有帮助。请提供表格的DDL。您有一个字符串列,您试图将其转换为数字。我想它是参数2或参数3。它用于可见和隐藏参数。对不起,我不明白你的意思。