2012-10-19 57 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