Maison > base de données > tutoriel mysql > Comment extraire des nombres de chaînes à l'aide de SQL ?

Comment extraire des nombres de chaînes à l'aide de SQL ?

DDD
Libérer: 2025-01-21 01:42:09
original
653 Les gens l'ont consulté

How to Extract Numbers from Strings Using SQL?

Extraction de nombres à partir de chaînes SQL

Question :

Écrivez une requête SQL pour extraire uniquement les valeurs numériques d'une chaîne donnée. Par exemple, étant donné les chaînes d'entrée « 003Plan d'examen préliminaire », « Coordination005 » et « Balance1000sheet », les sorties souhaitées sont respectivement « 003 », « 005 » et « 1000 ».

Solution :

Pour accomplir cette tâche, nous pouvons exploiter les fonctions définies par l'utilisateur (UDF) pour analyser la chaîne et récupérer la valeur numérique. Voici comment procéder :

<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>
Copier après la connexion

Nous pouvons maintenant utiliser cet UDF dans notre requête :

<code class="language-sql">SELECT dbo.udf_GetNumeric(column_name) 
FROM table_name</code>
Copier après la connexion

Cette méthode avancée extrait efficacement les valeurs numériques des chaînes en SQL. Notez que cet UDF modifié gère les valeurs nulles et les cas contenant uniquement des caractères non numériques, renvoyant une chaîne vide au lieu de 0.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal