2014-01-15 140 views
0

如果我有一个sql查询,是否可以将一个转换添加到动态参数?这里是我的sql查询:将参数添加到参数

"SELECT DISTINCT MATERIAL.MATERIALID FROM DATA WHERE MATERIAL.MATERIALID = :VALUE " 

我需要转换:VALUE为双和只是想知道是否有可能

回答

1

您可以在SQL做到这一点:

SELECT DISTINCT MATERIAL.MATERIALID 
FROM DATA 
WHERE MATERIAL.MATERIALID = cast(:VALUE as float) 

但是,一个真的,真的,真的,糟糕的想法做数字浮点表示的等式比较。两个数字可能看起来相同,但比较不同。你确定你不能以整数作比较吗?

+0

是的,我看到你在说什么,它没有返回表中正确数量的行。将它作为一个int转换只是'cast(:VALUE as int)'? – bbesase

+0

@bbesase。 。 。在大多数数据库中,是的。在MySQL中,我认为它会被'cast(:Value as unsigned)'。 –