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

在我这个例子中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条)

报告相同问题?

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境