日度归档:2019年3月7日

mssql sqlserver sql脚本拼接时候”单引号”产生的问题处理方法分享


摘要:
下文讲述一次sql脚本中拼接单引号发生问题的处理方法,如下所示:
实验环境:sql server 2008 R2


今天我用一个变量接收拼接字符串,当字符串拼接完成后,放入查询分析器运行时,产生了相应的错误信息,如下:

  ---例:
   set  @变量名 = 'select [字段名] from tableName  where  [列名]  like   %' + @变量 +'%';
   -----当我们将 @变量名  放入查询分析器运行时,发现错误提示"存在未闭合的引号"   
  

解决方法:

通过打印出的sql脚本,我们发现传入的变量中,存在单引号
我们需将单个单引号修改为两个单引号进行拼接,达到传入单引号的目的

mssql sqlserver 使用sum计算个数的例子分享


下文讲述一次使用sum优化count统计方法的例子分享,如下所示:
实验环境:sql server 2008 r2


下文讲述一次使用count统计数据例子的方法分享,如下所示:

   ---优化前:
 select 
  a.sortName, 
  (select count(*) from detail where sortName=a.sortName and flag='A'  ) as [ACount], 
  (select count(*) from detail where sortName=a.sortName and flag='B'  ) as [BCount],
  (select count(*) from detail where sortName=a.sortName and flag='C'  ) as [CCount],
  (select count(*) from detail where sortName=a.sortName                    ) as [CountAll] 
  from 
  sortMain as a

  ---优化后:
    select  
   a.sortName, 
  sum(case b.flag when 'A' then 1 else 0 end ) as ACount, 
  sum(case b.flag when 'B' then 1 else 0 end ) as BCount, 
  sum(case b.flag when 'C' then 1 else 1 end)  as CCount 
    sum(1) as CountAll 
from 
  sortMain a, detail b 
where  b.sortName=a.sortName