34,590
社区成员
发帖
与我相关
我的任务
分享
select * from syscolumns where (case colid when 0 then 1 end) = 1
select * from tb
where col1='aa'
order by
case when col='***' then '***' else '***' end
select * from tb
where (case when col='***' then '***' else '***' end)='***'
select case when '**' then '**' else '**' end as a
union case when '**' then '**' else '**' end as a
where case when '**' then '**' else '**' end
and case when '**' then '**' else '**' end
order by case when '**' then '**' else '**' end
/*
看不懂里面的关键字都是什么意思?
“device”、“USE master”、“sp_addumpdevice 'disk'”、 'testBack'、'c:\mssql7backup\MyNwind_1.dat'、“BACKUP”、“pubs TO testBack”。
"USE master" 运行master数据库
"sp_addumpdevice" 函数 将备份设备添加到 Microsoft? SQL Server?。
"disk" "硬盘文件作为备份设备"
"testBack" 任意名称
"c:\mssql7backup\MyNwind_1.dat" 备份设备物理路径
"BACKUP" 备份关键字
"pubs TO testBack" 将pubs数据库备份到"testBack"磁盘
*/
--备份数据库
--运行marster数据库 主数据库
USE master
--创建一个转储设备
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
请看执行计划,CASE WHEN 其实相当于产生了一个列,最后WHERE 再按那个列来限定
SELECT * AS A FROM TB WHERE CASE WHEN 1=1 THEN 1 ELSE 0 END =1
SELECT * FROM (SELECT * ,CASE WHEN 1=1 THEN 1 ELSE 0 END AS A FROM TB) T WHERE A=1
----可以用case when 的
select * from tb
where (case when A>1 then B else 0 end)='col'
--WHERE WATRDJ BETWEEN V_TRDJ_FM AND V_TRDJ_TO
WHERE (case
when P05_TRDJ_FM is not null or P05_TRDJ_TO is not null then WATRDJ>=V_TRDJ_FM and WATRDJ <= V_TRDJ_TO
when P05_TRDJ_FM is not null and P05_TRDJ_TO is null then WATRDJ>=V_TRDJ_FM
when P05_TRDJ_FM is null or P05_TRDJ_TO is not null then WATRDJ <= V_TRDJ_TO
when P05_TRDJ_FM is null and P05_TRDJ_TO is null then 1=1 end)