moonlightghost 2019-09-23 10:14 采纳率: 50%
浏览 818
已采纳

在我这个例子中where 1=1 {0}什么意思?{0}指的哪个?

  string table = @"select  a.IDNumber,(a.SurName||a.Name) as Name,a.Sex,a.Gzdw,a.Rszgdw,sum(CASE WHEN b.[State]=0 THEN 1 ELSE 0 END) AS wsj
,sum(CASE WHEN b.[State]=1 THEN 1 ELSE 0 END) AS sz
,sum(CASE WHEN b.[State]=2 THEN 1 ELSE 0 END) AS cz
,sum(CASE WHEN b.[State]=3 THEN 1 ELSE 0 END) AS jc 
,(select COUNT(distinct ID) from CardApplyRecord where EmployeeID=a.ID and [State]=0) AS sbz 
from Employee a inner join [Cards] b on a.IDNumber=b.IDNumber where 1=1 {0} group by a.ID,a.IDNumber,a.SurName,a.Name,a.Sex,a.Gzdw,a.Rszgdw order by a.Gzdw";

请问一下,
where 1=1 {0}什么意思?{0}指的哪个?

麻烦大佬指点一下。

  • 写回答

3条回答 默认 最新

  • threenewbee 2019-09-23 10:23
    关注

    这是C#里面string.Format函数所用的参数的占位符

    下面应该就有
    string.Format(table, " and 条件=xxx");
    那么" and 条件=xxx"就自动被放在 {0} 的位置上,构成sql语句。

    之所以加上1=1,这样,就不用考虑第一个条件前面不加and的问题了。
    比如
    select ... where 条件1=xxx and 条件2 = xxx and 条件3=xxx
    很明显,条件2、3前面有and,条件1前面没有,要单独处理,麻烦

    但是
    select ... where 1=1 and 条件1=xxx and 条件2 = xxx and 条件3=xxx
    追加条件的时候,不需要判断,都是 and 条件n=xxx

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘