„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich numerische Werte aus Saiten in SQL extrahieren?

Wie kann ich numerische Werte aus Saiten in SQL extrahieren?

Veröffentlicht am 2025-02-04
Durchsuche:181

How Can I Extract Numeric Values from Strings in SQL?

numerische Daten aus der String

extrahieren In der Datenbankumgebung müssen die eingebetteten numerischen Daten möglicherweise aus der Zeichenfolge extrahiert werden. Betrachten Sie das folgende Beispiel:

Zeichenfolge 1: 003Preliminary Prüfungsplan Zeichenfolge 2: Koordination005 Zeichenfolge 3: Balance1000Sheet

字符串 1: 003Preliminary Examination Plan   
字符串 2: Coordination005  
字符串 3: Balance1000sheet

String 1: 003 Zeichenfolge 2: 005 Zeichenfolge 3: 1000

字符串 1: 003
字符串 2: 005
字符串 3: 1000
Funktion erstellen dbo.udf_getnumeric (( @Stalphanumeric varchar (256) Heilung Return varchar (256) ALS Beginnen Deklariere @intalpha int Setalpha = patindex ('%[^0-9]%', @stalphanumeric) Beginnen Während @intalpha> 0 Beginnen Set @strachanumeric = stuff (@stalphanumeric, @intalpha, 1, '') Setalpha = patindex ('%[^0-9]%', @stalphanumeric) Ende Ende Return isnull (trim (@stalphanumeric), '0') Ende GEHEN

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

wählen Sie dbo.udf_getnumeric (column_name) Aus table_name

Dies gibt nur den digitalen Teil der angegebenen Zeichenfolge in der angegebenen Spalte zurück. Für die angegebenen Beispieldaten entspricht das Ergebnis dem erwarteten Wert:
SELECT dbo.udf_GetNumeric(column_name) 
from table_name

Hinweis:

im Originalcode
003
005
1000
]. Diese Korrekturfunktion ist klarer und leichter zu verstehen und zu warten.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3