2017-06-14 67 views
-1

我试图建立一个查询,并陷入了这个地方,我得到一个错误:“将数据类型varchar转换为数字时出错。SQL varchar数值错误,没有varchar字段envolved

Here's代码:

SELECT convert(numeric,convert(decimal(7,4), 
(
(SELECT SUM(pn.etiliquido-pn.qtt*pn.epcusto) from pn where (pn.fdata BETWEEN '2016-01-01' AND '2016-06-08') and 
(pn.usr1 not like '%'+'Portes'+'%') and (no like '517936') and (pn.epcusto > '0'))) 

/


(SELECT SUM((pn.etiliquido)) from pn where (pn.fdata BETWEEN '2017-01-01' AND '2017-06-08') and 
(pn.usr1 not like '%'+'Portes'+'%') and (no like '517936') and (pn.epcusto > '0')) *100 +'%')) 
    as Rentabilidade 

表中没有i'm调用具有varchar数据,我可不是让做什么i'm错...

+0

'''''''''''''''''''''''''''''''''''''''''''''''X' –

+0

你为什么要嵌套这么多的'CONVERT'调用?除此之外,错误可能发生在您将数字视为字符串或反之亦然的任何地方。 –

+0

当然,没有转换的结果是一样的东西: 9662200.3200001 ,我又把它想输出是这样的: 9662200,32€ 从来就做了其他选择这种方式,但是这一点,具体而言,doesn't似乎工作不知道为什么... – questionador

回答

0

好,谢谢任何方式。只是通过删除2个括号,我设法做到了一开始就想做的事情。猜猜是什么问题,我正在隔离错误的变量。