Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

3 façons de renvoyer une chaîne d'espaces multiples dans SQL Server

Lorsque vous travaillez avec des bases de données et les données associées, vous devez parfois insérer un espace lorsque vous joignez deux chaînes, ou parfois vous devez remplacer un caractère par un espace.

Et puis parfois, vous devez insérer plusieurs espaces. Voici 3 façons de renvoyer une chaîne d'espaces multiples dans SQL Server à l'aide de T-SQL.

Option 1 :saisissez tous les espaces

Le moyen le plus évident consiste simplement à taper chaque espace dont vous avez besoin. Comme ceci :

SELECT 'Homer' + '            ' + 'Satriani';

Résultat :

-------------------------
Homer            Satriani

Dans cet exemple, j'ajoute 12 espaces entre deux autres chaînes. Cette méthode est généralement parfaite lorsque vous n'avez besoin d'insérer qu'un ou deux espaces. Mais une fois que vous avez besoin d'ajouter, disons, une douzaine ou plus, il peut être plus facile d'utiliser le SPACE() fonction.

Option 2 :La fonction ESPACE()

Le SPACE() La fonction a été construite spécifiquement dans ce but - pour renvoyer une chaîne d'espaces répétés. Tapez simplement la fonction et fournissez un argument qui spécifie le nombre d'espaces requis.

Nous pouvons donc convertir l'exemple précédent en ceci :

SELECT 'Homer' + SPACE(12) + 'Satriani';

Résultat :

-------------------------
Homer            Satriani

Option 3 :la fonction REPLICATE()

Si vous devez insérer un très grand nombre d'espaces (8000 ou plus), vous devez utiliser le REPLICATE() une fonction. Cette fonction reproduit en fait n'importe quel caractère, pas seulement les espaces.

Nous pouvons donc remplacer les exemples précédents par les suivants :

SELECT 'Homer' + REPLICATE(' ', 12) + 'Satriani';

Résultat :

-------------------------
Homer            Satriani

Vous pouvez également utiliser le CHAR() fonction pour indiquer explicitement le caractère à utiliser. Par exemple, CHAR(32) pour un espace ou CHAR(160) pour un espace insécable :

SELECT 'Homer' + REPLICATE(char(160), 12) + 'Satriani';

Résultat :

-------------------------
Homer            Satriani

Remplacement d'un espace par plusieurs espaces

Nous pourrions donc utiliser l'une des méthodes ci-dessus dans un REPLACE() fonction pour remplacer un seul espace par plusieurs espaces.

Voici un exemple utilisant le SPACE() fonction :

SELECT REPLACE('Homer Satriani', ' ', SPACE(12));

Résultat :

-------------------------
Homer            Satriani