你好,我正在尝试select * data
,但是对于名为payments
的列,如果是NULL,我需要插入设置值0
。
我试着这样做:
string sqlcom = "SELECT (ISNULL(payments,0)) * FROM zajezd WHERE id >= '" + txt_od.Text + "'AND id <='" + txt_do.Text + "' AND year='" + klientClass.Rocnik() + "'";
但我仍然收到异常bad syntax near FROM
有人能帮我解决这个问题吗?
提前谢谢你
发布于 2013-09-05 01:28:28
把,
放在*
前面。尝尝这个
string sqlcom = "SELECT (ISNULL(payments,0)), * FROM zajezd WHERE id >= '" + txt_od.Text + "'AND id <='" + txt_do.Text + "' AND year='" + klientClass.Rocnik() + "'";
但我也建议你不要像这样传递参数。使用Parameterized query
避免sql注入。
发布于 2013-09-05 01:28:09
您需要一个逗号或清除*
。
SELECT (ISNULL(payments,0)), * FROM
或
SELECT (ISNULL(payments,0)) FROM
仅仅为了添加赞扬的总和(感谢Liath),就不应该使用*
。相反,请指定您真正需要的列。
还删除外部括号,因为它们并不是真正需要的。
我还想补充一点,你应该在那一栏中使用一个同义词。
所以应该是:
SELECT ISNULL(payments,0) AS payments, Col1, Col2,..., Coln FROM...
或者只是简单的:
SELECT ISNULL(payments,0) AS payments FROM...
发布于 2013-09-05 01:29:15
要么删除*
,要么在(ISNULL(payments,0))
和*
之间加一个逗号。
https://stackoverflow.com/questions/18632580
复制