0

私は周りを検索しましたが、どこにも答えが見つかりませんでした。

VARCHAR2数値をデータ型として格納しているデータベースにクエリを実行しています。( )
より大きい数値を見つけようとしていますが、期待した結果が得られません。1450000where BI_SO_NBR > '1450000'

値がテキストとして保存されており、それを回避する方法がわからないためだと思います。

クエリでフィールドを数値に変換する方法や、うまくいく他のトリックはありますか?
うまくいけば、これは理にかなっています。

私はSQLにかなり慣れていません。

前もって感謝します。

4

3 に答える 3

1

Oracleについて話している場合は、次のようになります。

where to_number(bi_so_nbr) > 1450000

ただし、これには 2 つの問題があり
ます。 1. に数値に変換できない値がある場合、エラーが発生する可能性あり ます。関数ベースのインデックスを作成することでこれを解決できますが、を数値に変換する方がより良い解決策になります。bi_so_nbr
bi_so_nbrvarchar2

于 2015-04-17T12:36:39.667 に答える