Ajouter une Colonne qui Représente une Concaténation de Deux Autres Colonnes Varchar
J'ai une table employés et je veux ajouter une troisième colonne correspond à la concaténation du nom et prénom appelé "FullName". Comment puis-je accomplir cela sans aucune perte de données à partir de l'une des deux premières colonnes?
où est la deuxième table? si vous êtes simplement à la concaténation de deux colonnes dans une table, pourquoi ne pas ajouter que, comme un autre de la colonne?
Est-il une bonne raison pour ajouter une nouvelle colonne? Vous pouvez tout simplement de générer la chaîne concaténée à la volée.
sa seule table, mais une nouvelle colonne qui est combiné.
à l'origine vous avez quelques fautes de frappe dans votre question où l'on vous dit "de table" au lieu de "de la colonne." C'est là que le commentaire est venu d'. J'ai édité la question, cependant, de sorte qu'ils sont fixés aujourd'hui.
merci Matthieu! son été une longue journée
Est-il une bonne raison pour ajouter une nouvelle colonne? Vous pouvez tout simplement de générer la chaîne concaténée à la volée.
sa seule table, mais une nouvelle colonne qui est combiné.
à l'origine vous avez quelques fautes de frappe dans votre question où l'on vous dit "de table" au lieu de "de la colonne." C'est là que le commentaire est venu d'. J'ai édité la question, cependant, de sorte qu'ils sont fixés aujourd'hui.
merci Matthieu! son été une longue journée
OriginalL'auteur Stampin Stephie | 2014-07-14
Vous devez vous connecter pour publier un commentaire.
Rapide préface: cette réponse a été basée sur l'origine de la balise incorrecte que cette question était relative à SQL Server. Je ne suis plus au courant de sa validité sur Oracle SQL Developer.
Bien que dans la pratique, je vous conseille de vous faire cette opération dans votre
SELECT
. C'est un peu la préférence personnelle, mais j'ai tendance à penser à faire des choses dans votre fin de requêtes est un peu plus propre, plus lisible et plus facile à entretenir que le stockage supplémentaire, des colonnes calculées.Edit:
Ce fut finalement trouvé la réponse, et classé par l'OP comme un commentaire sur ce post. Voici syntaxe appropriée pour Oracle Sql Base de données.
Intéressant. Je ne reconnais pas la syntaxe de cette erreur... Quelle version de SQL Server que vous utilisez?
son SQL developer 4.0.2.15
Ce qui sonne comme un Serveur Oracle, pas Microsoft SQL Server que vous avez marqués. Je ne suis pas familier avec la syntaxe pour Oracle SQL. Ce qui se passe quand vous faites un select avec une colonne similaire?
SELECT FirstName + ' ' + LastName FROM EMPS
je reçois le bon de sortie avec le "nom complet". la colonne est nommée PRENOM||"||NOM
OriginalL'auteur Matthew Haugen
Si vous avez besoin d'fullname colonne de tous les temps lorsque vous sélectionnez à partir de la base de données vous pouvez créer des colonnes calculées au moment de la création de votre table employé.
par exemple:
OriginalL'auteur mansi
Cela dépend de votre but, si vous avez vraiment besoin d'ajouter une nouvelle colonne à votre base de données, ou vous avez juste besoin d'interroger le "nom complet" sur une base comme-nécessaire.
Pour l'afficher à la volée, il suffit d'exécuter la requête
SELECT firstname + ' ' + lastname AS FullName FROM employees
- Delà de cela, vous pouvez également créer une Procédure Stockée simple à stocker.
OriginalL'auteur Jacky
tout en vous ajoutant une nouvelle colonne dans la table, à vous de donner le tout numérique ou une chaîne de fonction à appliquer lors de l'insertion comme l'exemple ci-dessus.
Ajouter de la valeur par défaut à la table
Mais après cela, vous devez requête de mise à jour à appliquer sur les enregistrements existants comme
Encore ce que je vous suggérons d'utiliser la requête select chaque fois que vous souhaitez que cette concaténation.
http://www.mssqltips.com/sqlservertip/2985/concatenate-sql-server-columns-into-a-string-with-concat/
Pas Cher, ce que nous suggérons est d'attribuer la valeur par défaut par le calcul ou des valeurs calculées.
Non, le premier exemple que vous avez donné (le
ALTER TABLE
un) a déclaré "Ajouter de la valeur par défaut," mais la syntaxe que vous avez donné était pour une colonne calculée. Les valeurs par défaut sont signalées par...ADD FullName NVARCHAR(MAX) DEFAULT('test')
. Sauf si vous faites référence à des valeurs persistantes, dont la syntaxe est de faire...ADD FullName AS (FirstName + ' ' + LastName) PERSIST
Pour ne pas mentionner, que toutes les mises à part, cette syntaxe est tout pour le T-SQL, qui a déjà été établi comme n'étant pas la langue que nous sommes en train de travailler.
Et pendant que nous y sommes, si vous lisez la documentation, les valeurs par défaut (si c'est ce que tu veux dire) n'acceptent que des expressions constantes. Ainsi, cela ne fonctionnerait pas pour cela de toute façon.
OriginalL'auteur Ajay2707