位置: 编程技术 - 正文

通过SQL Server的位运算功能巧妙解决多选查询方法

编辑:rootadmin
无论使用int还是varchar,对于Status的多选查询都是不易应对的。举例,常规思维下对CustomerStatus的Enum设置如下: 在数据库中以int形式存储了Status值。 如果我在页面中想一次搜索状态为Active,Overdue和Suspended状态的Customer,该怎么办?程序是不是得把这三个状态值 拼成字符串传递给SQL去处理?虽然能实现,但是相当低效。 现在给出一个标准解决方案: (1). 所有可能被用作搜索条件的枚举都应按如下位运算方式定义。 (2). 在数据库设计时,Status的字段必须为int型。 这样当我们做多选查询时@Status的Value= CustomerStatus.Active | CustomerStatus. Overdue| CustomerStatus. Suspended (3). 查询语句如下: 如果@Status可为null时, 用这样一条简单的语句,就可以获取到所有符合@Status要求的数据行。

推荐整理分享通过SQL Server的位运算功能巧妙解决多选查询方法,希望有所帮助,仅作参考,欢迎阅读内容。

通过SQL Server的位运算功能巧妙解决多选查询方法

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

获取星期几的名称 udf_WeekDayNameCREATEFUNCTION[dbo].[udf_WeekDayName]()RETURNS@WeekDayNameTABLE([Id]INT,[WeekDayName]NVARCHAR())ASBEGININSERTINTO@WeekDayName([Id],[WeekDayName])VALUES(0,'Saturday'),(1,'Sunday'),(2,'

MSSQL MySQL 数据库分页(存储过程) 先看看单条SQL语句的分页SQL吧。方法1:适用于SQLServer/SELECTTOP页大小*FROMtable1WHEREidNOTIN(SELECTTOP页大小*(页数-1)idFROMtable1ORDERBYid)ORDERBYid方法2:适用

此数据库没有有效所有者,因此无法安装数据库关系图支持对象 在新建数据库或附加数据库后,想添加关系表,结果出现下面的错误:此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请

本文链接地址:https://www.jiuchutong.com/biancheng/348499.html 转载请保留说明!

上一篇:SQL语句的执行原理分析(sql语句的执行方式)

下一篇:获取星期几的名称(查找星期几)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络