SQL で文字列から数値を抽出するにはどうすればよいですか?
文字列から数値データを抽出します
データベース環境では、文字列から埋め込まれた数値データを抽出する必要がある場合があります。次の例を考えてみましょう:
<code>字符串 1: 003Preliminary Examination Plan 字符串 2: Coordination005 字符串 3: Balance1000sheet</code>
望ましい結果は、各文字列から数値のみを抽出することです:
<code>字符串 1: 003 字符串 2: 005 字符串 3: 1000</code>
これを SQL で実装するには、カスタム ユーザー定義関数 (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 GO
この UDF は基本的に、入力文字列から数値以外の文字をすべて識別して削除します。次に、結果の文字列が整数に変換できるかどうかを確認し、それに応じてそれを返します。
この関数を使用するには、単に関連する列に適用するだけです:
SELECT dbo.udf_GetNumeric(column_name) from table_name
これは、指定された列の文字列の数値部分のみを返します。提供されたサンプル データの場合、結果は期待値と一致します:
<code>003 005 1000</code>
注: 元のコードの RETURN
ステートメントには文法上のエラーが含まれていましたが、不要なネストや型変換の問題を回避するために、より簡潔で効果的な RETURN ISNULL(TRIM(@strAlphaNumeric), '0')
に修正されました。 この改訂された機能はより明確で、理解しやすく、保守しやすくなっています。
以上が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暗号化を構成するにはどうすればよいですか?
