Oracle の変換関数を使用すると、数値データ型と文字型の間の変換が非常に簡単になります。データの格納方法に応じて、Oracle でサポートされる数値データ型には、NUMBER (精度、スケール)、BINARY_FLOAT、および BINARY_DOUBLE が含まれます。大量のデータを保存する必要がある場合は、NUMBER (精度、スケール) タイプを使用できます。また、データ問合せを行う際には、文字型データを計算可能な数値型に変換する必要があり、この際、Oracleの変換機能も利用して文字型データを数値型データに変換する必要があります。この記事の目的は、文字型を数値型に変換するための Oracle の関数メソッドを紹介することです。
TO_NUMBER は、Oracle の最も基本的な変換関数であり、ほとんどの文字型データを NUMBER データ型に変換できます。この関数の構文形式は次のとおりです:
TO_NUMBER(char, [format], [nls_numeric_characters])
このうち、char は変換する必要がある文字型データです。はオプションのパラメータであり、変換後の形式を指定します。nls_numeric_characters はオプションのパラメータで、数値形式の区切り文字を指定します。
たとえば、次の文字列 '327.5' があるとします。これを数値型に変換する必要がある場合は、次のコードを使用できます:
SELECT TO_NUMBER('327.5') FROM DUAL;
実行結果:
327.5
注: 入力文字列を有効な数値型に変換できない場合、操作時間エラー。さらに、文字形式と Oracle で指定されている数値形式の一貫性を保つように注意する必要があります。たとえば、一部の国ではカンマが千の位の区切り文字として機能するため、数値文字列の小数点区切り文字としてカンマを使用することはできません。
ROUND 関数は数値を四捨五入できます。その構文は次のとおりです:
ROUND(number,[10 進数])
このうち、number は四捨五入する必要がある数値を表し、decmal_places は保持する必要がある小数点以下の桁数を表します。
たとえば、数値 3.1415926 を小数点以下 2 桁までに保つ必要があると仮定すると、次のコードを使用できます:
SELECT ROUND(3.1415926,2) FROM DUAL;
実行結果 :
3.14
FLOOR関数は数値を切り捨てることができます。その構文形式は次のとおりです。
FLOOR(数値)
このうち、数値は切り捨てが必要な数値を表します。
たとえば、数値 3.7 を切り捨てる必要があると仮定すると、次のコードを使用できます:
SELECT FLOOR(3.7) FROM DUAL;
実行結果:
3
4
3.14
以上がオラクルを数値に変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。