Sql 解决这样一个糟糕的数据库模型。您需要修复模型,而不是查询。在varchar列中存储数字(几乎)总是一个非常糟糕的主意。@a_horse_与_no_name:我知道,糟糕的是:它不是我的数据库,不允许更改内容^^ select max(col1) from
Sql 解决这样一个糟糕的数据库模型。您需要修复模型,而不是查询。在varchar列中存储数字(几乎)总是一个非常糟糕的主意。@a_horse_与_no_name:我知道,糟糕的是:它不是我的数据库,不允许更改内容^^ select max(col1) from,sql,oracle,numbers,max,varchar,Sql,Oracle,Numbers,Max,Varchar,解决这样一个糟糕的数据库模型。您需要修复模型,而不是查询。在varchar列中存储数字(几乎)总是一个非常糟糕的主意。@a_horse_与_no_name:我知道,糟糕的是:它不是我的数据库,不允许更改内容^^ select max(col1) from( select to_number(numbers) as col1 from table ) d SELECT numbers FROM ( SELECT numbers FROM table_name ORDER BY
解决这样一个糟糕的数据库模型。您需要修复模型,而不是查询。在varchar列中存储数字(几乎)总是一个非常糟糕的主意。@a_horse_与_no_name:我知道,糟糕的是:它不是我的数据库,不允许更改内容^^
select max(col1) from(
select to_number(numbers) as col1 from table ) d
SELECT numbers
FROM (
SELECT numbers
FROM table_name
ORDER BY LPAD(numbers, 256) DESC
)
WHERE rownum = 1
SELECT LTRIM(MAX(LPAD(numbers, 256))) AS numbers
FROM table_name
SELECT TO_NUMBER('9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999') AS VAL
FROM DUAL;
ORA-01426: numeric overflow
SELECT TO_NUMBER('99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999') AS VAL
FROM DUAL;
SELECT CASE
WHEN to_number('9999999999999999999999999999999999999999') >
to_number('9999999999999999999999999999999999999998')
THEN 'Greater'
ELSE 'Not greater'
END AS VAL
FROM DUAL;