2012-10-19 55 views
2

我已經此以下查詢 "select abc from table where val = 1"
我得到的結果是SQL查詢數據庫

[{abc=5}] 

然而,我從而非陣列[{ABC的結果只需要將整數值5 = 5}]
任何人有任何想法如何做到這一點?謝謝 *我的朋友告訴我,我需要使用substring從[{abc = 5}]中取出5,但我完全不知道如何處理它。任何幫助將不勝感激!

*編輯

+0

使用'count(*)'而不是'column'? – McGarnagle

+1

正確地問你的問題,你想要做什麼? – jero

+0

你想得到的只是其中cloumn'val'= 1的總行數或來自'column'列的值,其中cloumn'val'的值爲1 –

回答

2

試試這個:

假定整數值來=和}符號

select substring(abc,charindex('=',abc)+1,len(abc)-charindex('}',abc)) 


SQL fiddle demo

+0

「參數數據類型bigint對於子串函數的參數1無效S1000/8116」這是我得到的錯誤消息。謝謝 – user1718890

0

爲列

select count(column) from table where val=1 
+0

諾諾我需要它的價值而不是它的數量,對不起,沒有具體的傢伙 – user1718890

+0

@ user1718890該列的數據類型是什麼。 – SRIRAM

0

您需要使用聚合函數count

select count(1) from table where val = 1

使用次數的計數(1),因爲它進行了優化比較計數(*)

0

所以之間,則需要從

[{ABC的確切值= 5} ]

並且您需要檢索值'5'?我有權這麼說嗎?

+0

是的,這是正確的。只是整數值5 – user1718890