SQL ユーザー定義関数を使用して文字列から数値を抽出するにはどうすればよいですか?
ユーザー定義関数を使用した SQL の文字列からの数値データの抽出
このガイドでは、SQL ユーザー定義関数 (UDF) を作成して文字列から数字のみを効率的に抽出する方法を説明します。 これは、データのクリーニングと操作における一般的なタスクです。
UDF の作成:
次の SQL コードは、文字列を入力として受け取り、抽出された数値部分を返す dbo.udf_GetNumeric
という名前の UDF を定義します。
CREATE FUNCTION dbo.udf_GetNumeric ( @strAlphaNumeric VARCHAR(256) ) RETURNS VARCHAR(256) AS BEGIN DECLARE @intAlpha INT SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric) BEGIN WHILE @intAlpha > 0 BEGIN SET @strAlphaNumeric = STUFF(@strAlphaNumeric, @intAlpha, 1, '' ) SET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric ) END END RETURN ISNULL(TRIM(@strAlphaNumeric), '0') END
UDF の適用:
UDF が作成されたら、次の SELECT ステートメントを使用してテーブル内の列に適用します。
SELECT dbo.udf_GetNumeric(column_name) AS ExtractedNumber FROM table_name;
column_name
を文字列を含む列の実際の名前に置き換え、table_name
をテーブルの名前に置き換えます。 結果は、数値のみを含む新しい列 ExtractedNumber
になります。
例:
次のサンプル データについて考えてみましょう:
String 1 | String 2 | String 3 |
---|---|---|
003Preliminary Examination Plan | Coordination005 | Balance1000sheet |
UDF を適用すると、出力は次のようになります:
String 1 | String 2 | String 3 |
---|---|---|
003 | 005 | 1000 |
機能説明:
dbo.udf_GetNumeric
関数は、PATINDEX
を使用して最初の非数値文字を見つけます。 次に、STUFF
関数によってその文字が削除されます。このプロセスは、数字以外の文字がすべて削除され、数字だけが残るまで繰り返されます。 ISNULL
関数と TRIM
関数は、潜在的な null 値と先頭/末尾のスペースを処理します。
さらなる機能強化 (将来のアップデート): この機能のより詳細な説明と潜在的な改善点は、将来のアップデートで追加される予定です。
以上がSQL ユーザー定義関数を使用して文字列から数値を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

人気のあるMySQL GUIツール(MySQL Workbench、PhpMyAdminなど)は何ですか?

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?
