您的位置:首页 > 其它

CASE WHEN THEN 简单案例应用

2012-02-24 16:19 225 查看
--最近遇到一个对单个记录不同类型的权限判断。譬如:我的账号是“9527”,所处的部门是“1”想把我能够查找的文档都显示出来。
--现将SQL语句贴出如下,进行备注,以防忘记

USE MASTER

GO

CREATE TABLE #FILE
(
ID INT IDENTITY(1,1),     --标识列
FileName nvarchar(50),    --文件名
ReadType int,             --0,所有人可读,1,有权部门,2,有权用户
ReadDept nvarchar(50),    --有权部门
ReadUser nvarchar(50)     --有权用户
)

GO

INSERT INTO #FILE
VALUES('独孤九剑',0,'','')
INSERT INTO #FILE
VALUES('寒冰真气',0,'','')
INSERT INTO #FILE
VALUES('吸星大法',1,'|1|2|3||','')
INSERT INTO #FILE
VALUES('九阴真经',1,' ','')
INSERT INTO #FILE
VALUES('凌波微步',0,'','|9527|9528|9529|')
INSERT INTO #FILE
VALUES('葵花宝典',0,'',' ')

GO

SELECT * FROM #FILE WHERE
CASE ReadType
WHEN 0 THEN 1
WHEN 1 THEN CHARINDEX('|1|',ReadDept)
WHEN 2 THEN CHARINDEX('|9527|',ReadUser)
END >=1

GO

DROP TABLE #FILE
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: