Maison  >  Article  >  base de données  >  Comment intercepter une partie d'un champ à l'aide d'une instruction SQL

Comment intercepter une partie d'un champ à l'aide d'une instruction SQL

醉折花枝作酒筹
醉折花枝作酒筹original
2021-06-18 15:06:0021748parcourir

En SQL, vous pouvez utiliser l'instruction SUBSTRING pour intercepter une partie d'un champ. Le format de syntaxe est "SUBSTRING (chaîne, position de départ, longueur d'interception)". La fonction de sous-chaîne en SQL est utilisée pour récupérer une partie des données d'un champ

Comment intercepter une partie d'un champ à l'aide d'une instruction SQL

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

SUBSTRING ( expression, start, length )

Paramètres

expression

Chaîne, chaîne binaire, texte, image, colonne ou expression contenant des colonnes. N'utilisez pas d'expressions contenant des fonctions d'agrégation.

start

Un entier ou une expression qui peut être implicitement convertie en int, spécifiant la position de départ de la sous-chaîne, et l'index commence à 1.

length

Un entier ou une expression qui peut être implicitement converti en int, spécifiant la longueur de la sous-chaîne. Après tests, il a été constaté que ne peut être qu'un nombre non négatif .

Valeur de retour

1. Si l'expression est un type de données binaires pris en charge, les données binaires sont renvoyées pour l'instant.

2. Si l'expression est un type de données caractère pris en charge, renvoie les données caractère.

(1) Si l'index de start commence à 1, la chaîne sera interceptée à partir du premier caractère de l'expression, et à partir de 2, elle sera interceptée à partir du deuxième caractère de l'analogie.

Par exemple :

 select SUBSTRING('abcde',1,2) 返回结果 ab
 select SUBSTRING('abcde',2,3) 返回结果 bcd
 select SUBSTRING('abcde',1,0) 返回结果为空
 select SUBSTRING('abcde',0,8) 返回结果为abcde,注意后面没有空格了。

(2) Si l'indice de début commence à moins de 1 (0 ou nombre négatif), la longueur renvoyée est égale à partir de 1, et la longueur interceptée est length - (la valeur absolue de (start - 1)), renvoie null si la différence est négative.

Par exemple : || ci-dessous représente le calcul de la valeur absolue

select SUBSTRING('abcde',0,2) 返回结果为 a , 计算公式为SUBSTRING(1,2-|2-1|) 
 select SUBSTRING('abcde',0,-1) 返回错误提示“传递到 substring 函数的长度参数无效”
 select SUBSTRING('abcde',-1,2) 返回结果为空, 计算公式为SUBSTRING(1,2-|-1-1|) 
 select SUBSTRING('abcde',-5,3) 返回结果为空, 计算公式为SUBSTRING(1,3-|-5-1|) 
 select SUBSTRING('abcde',-1,4) 返回结果为ab, 计算公式为SUBSTRING(1,4-|-1-1|) 
 select SUBSTRING('abcde',-2,8) 返回结果为abcde, 计算公式为SUBSTRING(1,8-|-2-1|)

Recommandations d'apprentissage associées : Tutoriel MySQL(vidéo)

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!

Déclaration:
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