2010-10-27 59 views
0

我正在下面SQL服務器,Oracle8i的語法

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

簡單的查詢這給:

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

問題1:有沒有在SQL的方式,可以顯示結果爲:

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

我可以通過按Delte和End來做一個骯髒的步驟,但當超過100條記錄時效率不高。

我使用的是Aqua Data Studio 7.5.34,後端是MS SQL Server 2000/5/8。

Event_number數據類型爲varchar

問題2:但是當我試圖運行這個查詢時,它向我展示了下面的錯誤。有人可以請幫助!

select '''' + event_key + '''' +',' as Event_K 
from mytable 

我使用的是Aqua Data Studio 7.5.34,後端是MS SQL Server 2000/5/8。

--event_key數據類型爲int。

[錯誤]腳本行:1-3 -------------------------- 轉換失敗轉換varchar值' ''到數據類型int。 消息:245,等級:16,狀態:1,過程:行:1


我跑下面的查詢,這給:

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

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

問題3:有沒有在SQL中可以添加一個逗號(,)到這些記錄的結尾並輸出類似於問題1的結果?

我使用的Aqua Data Studio的34年5月7日和後端的Oracle 8i的

+0

呃。 @KMan - 我認爲在重新格式化腳本時,您可能已編輯了實際問題。我相信@Tom想要產生的全部是單行結果,而不是你編輯過的逐行格式。就目前而言,當前和預期結果之間的唯一區別是您添加的連字符線,從我所看到的... – 2010-10-27 13:13:16

+0

重新格式化的問題1請求輸出,以顯示所需的格式。 – 2010-10-27 14:03:49

+0

@Matt:我的壞!理解沒有格式化的大*問題是相當具有挑戰性的。 – 2010-10-28 06:38:06

回答

2

問題1和3 - 基本上是一樣的這個問題:Use SQL instead of Delete and End from keyboard

OMG小馬後包括鏈接到一個選擇Oracle中的技術以及SQLServer。

問題2,需要一個明確的CAST或CONVERT的event_key,將其轉變成字符,而不是數字數據 - 像這樣:

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

謝謝,馬克!和其他人。 – joe 2010-10-27 14:58:17