Insérer un caractère dans une chaîne SQL
J'ai une colonne nvarchar j'ai besoin d'insérer un trait d'union à des points fixes à l'intérieur de la chaîne. Le trait d'union nécessaire entre l'extrême droite et le caractère suivant, puis de nouveau en 3e position de la droite, tels que:
la valeur de la colonne est
0000050704
et j'en ai besoin pour être
0000050-70-4
ou la valeur est
0555256321
et il devrait être
0555256-32-1
Ne vois pas comment cela est fait. Quelqu'un peut-il me donner un peu d'aide?
la base de données?
Si c'est SQL Server,
Si c'est SQL Server,
STUFF()
est fait pour cela...
OriginalL'auteur David Hall | 2013-06-25
Vous devez vous connecter pour publier un commentaire.
En supposant que les cordes peuvent être de longueur variable, vous devez utiliser le REVERSE() ou il y a beaucoup de méchants à la recherche LEN() les valeurs dans votre expression.
OriginalL'auteur Jaloopa
Cela dépend de votre serveur SQL server. Consultez la documentation sur la façon de manipuler des chaînes de caractères - je suppose fonction de sous-CHAÎNE.
Dans MS SQL Server, vous pouvez faire qqch. comme ceci:
Cela permet de diviser le contenu du champ en trois parties et le reconstruire avec des séparateurs...
Avant l'exécution de la requête, je vous suggère d'essayer comme un simple SELECT pour voir si elle fonctionne selon les besoins:
Prendre soin que la requête est sans condition et donc une incidence sur TOUTES les lignes de votre table.
OriginalL'auteur user1608721
Vous pouvez utiliser cette simple fonction:
Par exemple:
OriginalL'auteur merrais