2010-10-27 9 views
0

Je courais la recherche simple ci-dessousSQL Server, la syntaxe Oracle8i

select '''' + event_number + '''' +',' as Event_N 
from mytable 

qui donne:

Event_N 
--------------- 
'BAB0910000001', 
'CDD0910000002', 
'ODB0910000002', 
'YDB0910000003', 
'NYC0910000004', 

Question 1: Est-il possible dans SQL qui peut montrer le résultat comme:

Event_N 
'BAB0910000001','CDD0910000002','ODB0910000002','YDB0910000003','NYC0910000004', 

Je pourrais faire un sale pas en appuyant sur Delte et End mais ne serait pas efficace quand plus de 100 enregistrements. J'utilise Aqua Data Studio 7.5.34 et le back-end est MS SQL Server 2000-5/8.

Le type de données numéro_événement est varchar.

Question 2: Mais quand j'ai essayé d'exécuter cette requête, il m'a montré l'erreur ci-dessous. Quelqu'un pourrait-il aider s'il vous plaît !!! J'utilise Aqua Data Studio 7.5.34 et MS SQL Server 2000/5/8.

--le type de données event_key est int.

[Erreur] lignes de script: 1-3 -------------------------- Échec de la conversion de la valeur varchar ' '' au type de données int. Msg: 245, Niveau: 16, État: 1, Procédure: Ligne: 1


J'ai couru la requête suivante, ce qui donne:

select ''''||EVENT_KEY||'''' as Event_K 
from mytable 

EVENT_K 
'28732033' 
'28797708' 
'28796943' 
'28133100' 
'28718239' 

Question 3: Est-il manière en SQL qui pourrait ajouter une virgule (,) à la fin de ces enregistrements et produire le résultat similaire à la question 1?

J'utilise Aqua Data Studio 7.5.34 et l'arrière est Oracle 8i

+0

Erm. @KMan - Je pense que vous avez peut-être édité le problème réel lorsque vous avez reformaté ce script. Je crois que le résultat sur une seule ligne est en réalité ce que @Tom veut produire, par opposition au format ligne par ligne dans lequel vous l'avez édité. À l'heure actuelle, la seule différence entre les résultats actuels et les résultats désirés est la ligne de traits d'union que vous avez ajoutée, d'après ce que je peux voir ... –

+0

Reformatted Question 1 a demandé la sortie, pour montrer le format requis. –

+0

@Matt: Mon mauvais! Il devient assez difficile de comprendre de * grandes * questions sans formatage. –

Répondre

2

Question 1 et 3 - essentiellement les mêmes que cette question: le poste de Use SQL instead of Delete and End from keyboard

OMG Poneys inclut des liens vers une sélection des techniques dans Oracle, ainsi que SQLServer.

Question 2 nécessite une explicite CAST ou CONVERT sur le event_key, pour le transformer en caractère au lieu des données numériques - comme ceci:

select '''' + convert(varchar,event_key) + '''' +',' as Event_K 
from mytable 
+0

Merci, Mark! et tout le monde. – joe