久久机这里只有精品,国产69精品一区二区亚洲孕妇,91精品国产综合久久婷婷香蕉,午夜久久久久久电影

最新活動:電腦PC端+手機端+微網站+自適應網頁多模板選擇-建站388元起價!!!
當前位置:主頁 > 網站建設 > 通過SQL Server的位運算功能巧妙解決多選查詢方法

通過SQL Server的位運算功能巧妙解決多選查詢方法

時間:2023-05-22 08:05:22 閱讀: 文章分類: 網站建設 作者: 建站小能手

導讀:1建站知識項目中很多業務對象的數據表中都具有Status字段,有人使用int型保存Status,有人使用varchar型建設網站網站推廣優化seo。

建設網站網站推廣優化seo無論使用int還是varchar,對于Status的多選查詢都是不易應對的。舉例,常規思維下對CustomerStatus的Enum設置如下:

復制代碼 代碼如下:

[Serializable] public enum CustomerStatus { New = 0, Active = 1, Overdue = 2, seo網站優化軟件Suspended = 3, Closing = 4, Closed = 5 }

在數據庫中以int形式存儲了Status值。 如果我在頁面中想一次搜索狀態為Active,Overdue和Suspended狀態的Customer,該怎么辦?程序是不是得把這三個狀態值 拼成字符串傳遞給SQL去處理?雖然能實現,但是相當低效。 現在給出一個標準解決方案: (1). 所有可能被用作搜索條件的枚舉都應按如下位運算方式定義。

復制代碼 高端網站建設代碼如下:

public enum CustomerStatus { New = 1, Active = 1<<1, Overdue = 1<<2, Suspended = 1<<3, Closing = 1<<4, Closed網站建設哪家好 = 1<<5 }

(2). 在數據庫設計時,Status的字段必須為int型。 這樣當我們做多選查詢時@Status的Value= CustomerStatus.Active | CustomerStatus. Overdue| CustomerStatus. Suspended (3). 查詢語句如下:

復制代碼 代碼如下:

Select * From Customer Where [Status] & @Status = [Status]

如果@Status可為null時,

復制代碼 代碼如下:

Select * From Customer Where ( @Status is null Or [Status] & @Status = [Status])

用這樣一條簡單的語句,就可以獲取到所有符合@Status要求的數據行。相關建設網站網站推廣優化seo。

關鍵詞標簽: SQL 多選 巧妙

聲明: 本文由我的SEOUC技術文章主頁發布于:2023-05-22 ,文章通過SQL Server的位運算功能巧妙解決多選查詢方法主要講述多選,巧妙,SQL網站建設源碼以及服務器配置搭建相關技術文章。轉載請保留鏈接: http://www.bifwcx.com/article/web_4107.html

我的IDC 網站建設技術SEOUC.COM
專注網站建設,SEO優化,小程序設計制作搭建開發定制網站等,數千家網站定制開發案例,網站推廣技術服務。
  • 5000+合作客服
  • 8年從業經驗
  • 150+覆蓋行業
  • 最新熱門源碼技術文章

    主站蜘蛛池模板: 洛扎县| 正宁县| 呼伦贝尔市| 黑山县| 肇东市| 喜德县| 嘉峪关市| 北川| 贵南县| 衡山县| 邢台县| 景泰县| 定安县| 密山市| 阳山县| 安丘市| 思南县| 宁城县| 华坪县| 尚义县| 兰西县| 文登市| 郴州市| 北海市| 永兴县| 栖霞市| 滨海县| 舞阳县| 金乡县| 太和县| 岱山县| 北安市| 建德市| 乡宁县| 额敏县| 绥宁县| 文水县| 西峡县| 互助| 新郑市| 吴桥县|