SQL Server CASE WHEN ... THEN ... ELSE ... END SELECTa.*,b.dp_name,c.pa_name,fm_name=(CASEWHENa.fm_no='LJCG001H'THENdbo.ELTPNAME(a.fw_nu)ELSEd.fm_nameEND),e.fw_state_nm,f.fw_rmk_nm FROMLJSS007H a (nolock) leftjoinLJPA003H b (nolock)ona.dp_no=b.dp_no leftjoin...
SQL_VARIANT_PROPERTY((case id when '3' then 4 else id end),'BaseType') as CaseResultType, case id when '3' then DataLength(4) else DataLength(id) end as IDDataLength from @T --显示的结果可以看出,case的result类型为int型,但存储大小不全为4 代码可以直接运行,在sql server 2005 express版...
when sex='2' then '女' ---sex='2',则返回值'女' else 0 ---其他的返回'其他...
第一部分:CASE WHEN结构 CASE WHEN用于在查询中对数据进行逻辑分组或条件分组。CASE语句由三部分组成:CASE、WHEN和THEN。当满足WHEN条件时,会执行THEN的语句,如果WHEN条件不满足,则继续向下判断。当所有WHEN条件都不满足时,执行ELSE部分。最后,整个CASE语句结束。
--SQL中有判断的地方就可以用到他,相当于Excel的iif()函数,其他语言的if else--如果怎样就怎样,否则就怎样--比如,如果性别为1就显示为男,否则就显示为女Select Name,case when Sex =0 then '男' else '女' end 性别 From ZlEmployee--行转列Select Code,Case when Sex=0 then Name else '...
Case when Sex=1 then Name else '' end As 女 From ZlEmployee --自定义排序 Select Name,Sex ...
那样你直接写selectcount(A.MO_NO)fromAwhereA.CLOSE_ID='T'就好了就算你一定要用casewhenthen,你也要用sum而不是count,你用count是所以(CASEWHENA.CLOSE_ID='T'THENA.MO_NOELSE0END)的个数,就算是0,它也是个值,仍然会被count进去啊,你只有sum时,0才是不会起做用的数。
SELECT CASE @value WHEN 1 THEN '关闭' WHEN 2 THEN '打开' END 大家会注意看到,如果 THEN 后面加的是中文 ,则返回的结果是“?” ,也许别的版本数据库不会出现这种情况,我没有试过,本人用的是sql server 2005 , 3 if ...else 这个相对上面那两个大家应该会陌生吧,如果条件,则执行该条件的sql 语句,...
像这种问题,都不用问,实践一下自然出真理:CREATE VIEW test AS SELECT EmpId, CASE WHEN Sex = '0' THEN '女' ELSE '男' END AS 'Sex' FROM TDefEmp