J'utilise SQL Server 2008 R2 et j'essaie d'exécuter la command suivante:
SELECT CustCity AS City, Concat(CustLastName, \', \', CustFirstName) AS Customer FROM Customers ORDER BY CustCity, Customer
Le message d'erreur que je reçois est:
Msg 102, niveau 15, état 1, ligne 1
Syntaxe incorrecte près de ', \'.
Pour autant que j'ai appris, c'est ainsi que Concat
devrait fonctionner, donc je ne comprends pas pourquoi cela ne fonctionne pas.
Quelqu'un peut-il aider?
Vous pouvez essayer comme ceci: –
SELECT CustCity AS City, CustLastName + '\' + CustFirstName AS Customer FROM Customers ORDER BY CustCity, Customer
La fonction CONCAT n'existe pas dans SQL SERVER 2008.
Faites ceci à la place:
SELECT CustCity AS City, CustLastName + '\' + CustFirstName AS Customer FROM Customers ORDER BY CustCity, Customer
CONCAT()
n'est pas une fonction de SQL Server 2008. Si vous souhaitez concaténer datatables dans le server SQL, vous devez utiliser le signe +
:
SELECT CustCity AS City, CustLastName + ', ' + CustFirstName AS Customer FROM Customers ORDER BY CustCity, Customer;
Voir SQL Fiddle avec démo . Si vous voulez inclure le \
, vous pouvez utiliser:
SELECT CustCity AS City, CustLastName + ' \ ' + CustFirstName AS Customer FROM Customers ORDER BY CustCity, Customer
Voir la démo
Assez certain que votre guillemet simple cause le problème. Le problème est que CONCAT n'existe que dans SQL 2012 et non 2008.
Si vous utilisiez SQL 2012, la syntaxe correcte serait.
Concat(CustLastName, '\', CustFirstName) AS Customer