Heim >Datenbank >MySQL-Tutorial >Wie kann ich Zahlen aus alphanumerischen Zeichenfolgen in SQL extrahieren?

Wie kann ich Zahlen aus alphanumerischen Zeichenfolgen in SQL extrahieren?

Linda Hamilton
Linda HamiltonOriginal
2025-01-21 01:51:08604Durchsuche

How Can I Extract Numbers from Alphanumeric Strings in SQL?

Zahlen aus alphanumerischer Zeichenfolge in SQL extrahieren

Frage:

Sie haben einige Zeichenfolgen, die alphanumerische Zeichen enthalten, und Sie müssen nur die numerischen Werte extrahieren. Zum Beispiel mit der folgenden Zeichenfolge:

  • 003Vorläufiger Prüfungsplan
  • Koordination005
  • Bilanz 1000 Blatt

Sie möchten suchen nach:

  • 003
  • 005
  • 1000

Lösung:

Um Zahlen aus einer Zeichenfolge mithilfe von SQL zu extrahieren, können Sie benutzerdefinierte Funktionen (UDFs) verwenden. Erstellen Sie die folgende 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), '0')
END
GO</code>

Verwendung:

Nachdem Sie die UDF erstellt haben, können Sie damit Zahlen aus einer Zeichenfolge extrahieren:

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

Zum Beispiel:

<code class="language-sql">SELECT dbo.udf_GetNumeric('003Preliminary Examination Plan')</code>

Referenz:

Hinweis:

Diese Lösung gibt Zahlen als Zeichenfolgen aus. Wenn Sie Ganzzahlen benötigen, können Sie diese mit der Funktion CAST() umwandeln. Der obige Code wurde vereinfacht, um unnötig komplexe Logik zu vermeiden und sicherzustellen, dass die Funktion immer einen Wert zurückgibt.

Das obige ist der detaillierte Inhalt vonWie kann ich Zahlen aus alphanumerischen Zeichenfolgen in SQL extrahieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn