首頁 >資料庫 >mysql教程 >如何使用 SQL 從字串中提取數字?

如何使用 SQL 從字串中提取數字?

DDD
DDD原創
2025-01-21 01:42:09656瀏覽

How to Extract Numbers from Strings Using SQL?

SQL字串中數字的擷取

問題:

寫一個SQL查詢,從給定的字串中提取僅數字值。例如,給定輸入字串“003Preliminary Examination Plan”、“Coordination005”和“Balance1000sheet”,期望的輸出分別為“003”、“005”和“1000”。

解:

為了完成此任務,我們可以利用使用者定義函數 (UDF) 來解析字串並檢索數字值。以下是實作方法:

<code class="language-sql">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), '')
END
GO</code>

現在,我們可以在查詢中使用此UDF:

<code class="language-sql">SELECT dbo.udf_GetNumeric(column_name) 
FROM table_name</code>

此高階方法有效地從SQL中的字串中提取數字值。 請注意,此修改後的UDF處理了空值和僅包含非數字字元的情況,傳回空字串而不是0。

以上是如何使用 SQL 從字串中提取數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn