ホームページ >運用・保守 >Linuxの運用と保守 >Oracle の文字を数字に変換する方法
Oracle は、データの処理によく使用される人気のリレーショナル データベース管理システムです。 Oracle を使用するプロセスでは、文字と数字は必須の種類です。場合によっては、計算や分析のために文字を数値に変換する必要があり、Oracle が提供するいくつかの関数を使用する必要があります。
Oracle では、TO_NUMBER 関数を使用して文字型を数値型に変換できます。構文は次のとおりです。
TO_NUMBER(文字列, [形式], [言語設定])
このうち、文字列は変換する必要がある文字型データであり、形式ははオプションです。文字列の解析形式を指定します。言語設定もオプションであり、国際化設定を指定するために使用されます。
たとえば、文字列「123.456」があるとします。これは、計算のために数値データに変換する必要があります。これは、次のステートメントを使用して実現できます。
SELECT TO_NUMBER('123.456') FROM Dual
実行結果は、123.456 です。
Oracle では、CHARTO_NUMBER 関数を使用して文字データを数値データに変換できます。ただし、クエリ内でデータを数値型に明示的に変換する場合は、CAST 関数を使用できます。
CAST 関数の構文は次のとおりです。
CAST (数値 AS NUMBER に変換する必要がある文字データ)
たとえば、文字列があります。変換が必要な「789.012」 数値データに変換して計算します。これは、次のステートメントを使用して実現できます。
SELECT CAST('789.012' AS NUMBER) FROM Dual
実行結果は、789.012 です。
DECODE 関数は、Oracle データベースの変換関数の 1 つで、条件に基づいて 1 つの値を別の値に変換できます。使用する場合は、変換する値、それに対応する変換値、およびデフォルトの変換値を指定する必要があります。
DECODE 関数の構文は次のとおりです。
DECODE (変換対象の値、値がターゲット値 1 と等しい場合は値 1 が返され、値がターゲット値と等しい場合は値 1 が返されます)ターゲット値 2 と等しい場合、値 2 が返されます、...、デフォルトの戻り値)
たとえば、文字列 '100' を整数型に変換する必要があります。これは、次のステートメントを使用して実現できます:
SELECT DECODE('100', NULL, 0, '100', 1, -1) FROM Dual
実行結果は次のとおりです。
概要:
Oracle では、TO_NUMBER、CAST、および DECODE 関数を使用して文字データを数値データに変換できます。このうち、TO_NUMBER 関数は文字列型のデータを数値に変換するのに適しており、CAST 関数は文字データを明示的に数値データに変換でき、DECODE 関数は条件に基づいてある値を別の値に変換できます。使用する場合は、状況に応じて選択して使用する必要があります。
以上がOracle の文字を数字に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。