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:
Sie möchten suchen nach:
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!