假设我有一个这样的查询(不太实用,我知道这不是方法)
SELECT *
FROM CO.CUSTOMERS
WHERE CUSTOMER_ID = '1'
AND length((SELECT FULL_NAME
FROM CO.CUSTOMERS
WHERE CUSTOMER_ID=1)) > '35';
-- in the last as you can see I'm comparing it with a string ( i think )
但是上面的查询仍然给出了结果,所以我想知道是与字符串还是由字符串组成的整数进行比较。
在这种情况下,Oracle 会执行“隐式数据类型转换”。如果它设法做到这一点,它将返回结果。不然就失败了。 例如,您可以比较
length > 'A2'
;由于
A2
(字符串)无法转换为数值,因此您会收到错误。