我有一张test_table
如下表
test_id varchar2(10)
new_test_id number
虽然 test_id 是varchar
存储的数字,但现在我想将 test_id 中当前值的负数存储到 new_test_id。我试过的语句如下:
update test_table a set a.new_test_id = TO_NUMBER(-a.test_id);
尽管在运行测试查询时,这会引发无效数字错误
select TO_NUMBER(-test_id) from test_table
它显示格式正确的数字结果。
为什么在它工作正常的语句中to_number
无法将字符串转换为数字?在这种情况下有什么替代方案?update
select