La fonction SUBSTRING dans les requêtes SQL est le plus souvent utilisée lorsque vous travaillez avec des données texte - elle est chargée de "rogner" la chaîne qui lui est transmise.
Comme avec la plupart des langages de programmation,y compris ORACLE et MS SQL, SUBSTRING comprend trois paramètres. Le premier argument de la fonction est la chaîne d'entrée elle-même - vous pouvez l'écrire explicitement ou l'obtenir à la suite de l'exécution d'une requête. Ceci est suivi de deux paramètres numériques - le caractère de départ, à partir duquel le découpage se produira, et la longueur elle-même - le nombre de caractères à lire, à partir de la position de départ.
La structure d'une requête en SQL est la suivante:
SUBSTRING ("une chaîne", 1, 3)
Le résultat de cette requête serastring "eco" - En SQL, la fonction SUBSTRING identifie les éléments commençant par zéro, qui, dans cet exemple, est la lettre "n". Il est à noter que si vous spécifiez une longueur négative, le SGBD générera une erreur, et si vous sélectionnez une valeur qui dépasse la différence entre le numéro du dernier caractère et le numéro de départ, le résultat de la requête sera une chaîne de caractères de la position spécifiée à la fin de la chaîne.
Dans les langages SQL, SUBSTRING est rarement utilisé pourexécution de requêtes simples - la fonction est essentiellement utilisée dans le cadre d'un algorithme complexe. Néanmoins, il y a des tâches assez simples avec sa participation. Ainsi, par exemple, si vous devez créer une catégorie d'utilisateurs similaire à la première lettre de leur nom de famille, SUBSTRING vous permettra de vous passer du fractionnement de la ligne auxiliaire.
SELECT Addres, SUBSTRING (LastName, 1, 1) AS FirstChar FROM Clients
Ainsi, vous pouvez créer unannuaire téléphonique, où obtenir la liste complète des utilisateurs dont les noms commencent par une certaine lettre, il suffira de faire une sélection par le champ FirstChar.
Un exemple plus réaliste consiste à créer une version abrégée prête à l'emploi du nom de l'utilisateur - c'est-à-dire que le nom de famille avec l'initiale du client doit être renvoyé comme résultat de la requête.
SELECT LastName & "" & SUBSTRING (FirstName, 1, 1) & "." EN TANT QU'INITIAL DES Clients
Il est à noter que SQL SUBSTRING fonctionne aussi bien avec les champs de texte que les champs numériques.