关于精益求精的作文:DELPHI中SQL查询的问题

来源:百度文库 编辑:高校问答 时间:2024/04/28 00:16:13
在DELPHI中有如下查询语句:
adoquery1.SQL.Add('SELECT bh , zxyxm , COUNT(*) ,COUNT(CASE WHEN thsc!=0 THEN thsc END) ,COUNT(CASE WHEN T2= :wt1 THEN T2 END) ,COUNT(CASE WHEN T2= :wt2 THEN T2 END) ,cast(cast(cast(COUNT(CASE WHEN T2 = :wt1 THEN t2 END) AS float) / (COUNT(*)) AS decimal(10, 2)) AS varchar) ,cast(COUNT(CASE WHEN thsc != 0 THEN thsc END) AS float) / COUNT(*) ,SUM(thsc) , SUM(thsc)/COUNT(CASE WHEN thsc != 0 THEN thsc END) FROM XM20050903_U_THXXJL group BY bh, zxyxm ORDER BY bh');
错误提示:
string literals may have at most 255 elements

请问除了精简查询语句还有别的方法吗?
如果改成如下还有一个错误

adoquery1.SQL.Add('SELECT bh , zxyxm , COUNT(*) ,COUNT(CASE WHEN thsc!=0 THEN thsc END) ,COUNT(CASE WHEN T2= '1、成功' THEN T2 END) ,COUNT(CASE WHEN T2= '2、不成功' THEN T2 END) ,cast(cast(cast(COUNT(CASE WHEN T2 = '1、成功' THEN t2 END) AS float) / (COUNT(*)) AS decimal(10, 2)) AS varchar) ,cast(COUNT(CASE WHEN thsc != 0 THEN thsc END) AS float) / COUNT(*) ,SUM(thsc) , SUM(thsc)/COUNT(CASE WHEN thsc != 0 THEN thsc END) FROM XM20050903_U_THXXJL group BY bh, zxyxm ORDER BY bh');

则错误提示说在'1、成功'和'2、不成功'处丢失运算符或分号,但是在SQL里面是正确的,要怎么改?

有,换行啊,当你字符超过255个时就需要这么处理一下