Comment faire pour insérer un zéro dans SQL Server
C'est le code pour la sélection de zéros:
SELECT RIGHT('00000'+ CONVERT(VARCHAR,Asset_No),6)
FROM schemaAsset.SystemDefined
Comment puis-je insérer une valeur à la colonne Asset_no avec des zéros?
Exemple est que je ne suis que l'insertion de "1" à la colonne Asset_no, mais dans le code, il va insérer "000001". Et aussi lorsque j'insère deux chiffres comme 26, il va insérer "000026". La longueur ne change pas. Est-ce possible dans SQL Server?
À partir d'où? SQL ou d'un langage côté serveur?
Ce type de données est
J'ai besoin de SQL monsieur, Merci
oui, il est de type varchar. Je suis un débutant en SQL, ok monsieur je vais arrêter d'utiliser varchar sans longueur, merci.
Ce type de données est
Asset_No
? Pourquoi êtes-vous à l'aide de VARCHAR
sans longueur? Veuillez arrêter de faire ça.J'ai besoin de SQL monsieur, Merci
oui, il est de type varchar. Je suis un débutant en SQL, ok monsieur je vais arrêter d'utiliser varchar sans longueur, merci.
OriginalL'auteur Matthew Sarmiento | 2013-03-06
Vous devez vous connecter pour publier un commentaire.
Une façon de le faire est avec un
INSTEAD OF
déclencheur.Résultats:
Wow, ce code fonctionne pour moi, je viens de changer le nom de la base de données. Merci pour ce monsieur! 🙂
Un au lieu de déclencher vous permet de regarder les données insérées/mis à jour/modifiés / supprimés avant il se produit, de sorte que vous pouvez faire des choses comme manipuler les données, voire une annulation de la déclaration. Certaines personnes vous diront qu'il n'est pas pour les déclencheurs instead of, mais ils doivent absolument avoir lieu, ils sont moins de ressources qu'un déclencheur after, en particulier dans le cas où vous avez à faire reculer. Cela dit, ce déclencheur ne doit être utilisée que si vous ne pouvez pas modifier l'instruction insert directement, ce qui est la façon dont j'ai lu votre question.
Ahh, si le déclencheur instead of est vraiment très utile pour des situations de ce genre. Oui, monsieur votre droit, je ne peux pas modifier directement mon instruction insert. Merci pour l'expliquer clairement sir 🙂
OriginalL'auteur Aaron Bertrand
Si vous voulez faire le rembourrage dans SQL Server, vous pouvez faire quelque chose comme ceci avec votre instruction INSERT:
J'ai édité la réponse à montrer comment.
ok monsieur je vais essayer merci
OriginalL'auteur Trey Mack
Le script ci-dessous permet de remplir une colonne avec des nombres de chaque ligne de la table. Cela vous donnera des numéros de départ à 2000. La première entrée serait 0002000.
OriginalL'auteur vadorian
Pour Oracle:
lpad(cast(NUMERIC_VAR comme VARCHAR2(5 OCTETS)),5,'00000')
LPAD
.OriginalL'auteur WSimpson