UWInfo Blog
發表新文章
[Join] | [忘記密碼] | [Login]
搜尋

搜尋意見
文章分類-#Author#
[所有文章分類]
所有文章分類
  • ASP.NET (48)
  • ASP.NET2.0 (15)
  • ASP.NET4.0 (34)
  • JavaScript (49)
  • jQuery (26)
  • FireFox (4)
  • UW系統設定 (3)
  • SQL (40)
  • SQL 2008 (25)
  • mirror (4)
  • SVN (4)
  • IE (9)
  • IIS (22)
  • IIS6 (1)
  • 閒聊 (7)
  • W3C (6)
  • 作業系統 (9)
  • C# (24)
  • CSS (12)
  • FileServer (1)
  • HTML 5 (11)
  • CKEditor (3)
  • UW.dll (13)
  • Visual Studio (16)
  • Browser (8)
  • SEO (1)
  • Google Apps (3)
  • 網站輔助系統 (4)
  • DNS (5)
  • SMTP (4)
  • 網管 (11)
  • 社群API (3)
  • SSL (4)
  • App_Inventor (1)
  • URLRewrite (3)
  • 開發工具 (6)
  • JSON (1)
  • Excel2007 (1)
  • 試題 (3)
  • LINQ (1)
  • bootstrap (0)
  • Vue (3)
  • IIS7 (3)
  • foodpanda (2)
  • 編碼 (2)
  • 資安 (4)
  • Sourcetree (1)
  • MAUI (1)
  • CMD (1)
  • my sql (1)
  • API串接 (1)
  • EF MODEL (1)
最新回應
  • Newtonsoft.Json.JsonConvert.DeserializeObject 失敗的情況
    test...more
  • dotnet ef dbcontext scaffold
    ...more
  • [ASP.NET] 利用 aspnet_regiis 加密 web.config
    ...more
  • IIS ARR (reverse proxy) 服務安裝
    ...more
  • [錯誤訊息] 請加入 ScriptResourceMapping 命名的 jquery (區分大小寫)
    ...more
  • 用 Javascript 跨網頁讀取 cookie (Cookie cross page, path of cookie)
    ...more
  • 線上客服 - MSN
    本人信箱被盜用以致資料外洩,是否可以請貴平台予以協助刪除該信箱之使用謝謝囉...more
  • 插入文字到游標或選取處
    aaaaa...more
  • IIS 配合 AD (Active Directory) 認証, 使用 .Net 6.0
    太感謝你了~~~你救了我被windows 認證卡了好幾天QQ...more
  • PostgreSQL 的 monitor trigger
    FOR EACH ROW 可能要改為 FOR EACH STATEMENT ...more
標籤
  • 0xe0434352
  • 19560223<
  • 19425536
  • nexttick
  • IyOUek3l
  • expr 90001
  • -1844 UNIO
  • auto tunin
  • MMGpqrix
  • NPOI 弱點
  • fdoug懶惰程式碼
  • facebook
  • 按鈕
  • 考試
  • Rr2xkV5Q
  • 具有潛在危險 Req
  • 悟
  • dotnet
  • 四捨
  • 無法載入檔案或組件
  • git flow
  • ebqi95
  • xfs.bxss.m
  • 12 ORDER B
  • block
  • Za02xtp5
  • 1
  • 422
  • su
  • 移
  • 碧
  • 硬碟
  • 監控
  • 發行者
  • 瘦身
  • 當頁
  • 環境
  • 具有潛在危險 req
  • 版本
  • 無法修改
  • 時間轉換
  • 時間常數
  • 時間
  • 日期
  • 旋
  • 效能
  • 擴充套件
  • 換行
  • 憑證匯出
  • 快取
搜尋 搜尋 結果:
資料庫 where 條件要注意的兩件事
最近剛好發生跟 MS SQL 有關的狀況,所以就記錄一下

1. where 字串欄位要不要加 N''  (unicode)
    範例: Select * from OrderDetail where OrderDetailId= N'20220923084533'
    基本上,欄位是 char、varchar 就不需要。nvarchar nchar 就要加 N
    這好像是廢話,但往往寫程式會沒注意,甚至是會覺得通通加 N 比較沒問題
    但如果欄位牽涉到 index 就會影響搜尋 ,所以寫程式當下要注意
-- 假設 OrderDetailId 是 varchar(20)
-- OrderDetail 有千萬筆資料

Select * from OrderDetail where OrderDetailId= N'20220923084533'
-- 結果跑超級久 (未使用 PK 找,掃整個 table)
Select * from OrderDetail where OrderDetailId= '20220923084533'
-- 結果一下就出來 (使用 PK 找)
-- **資料庫設計最好以數值來當 key 比較好

    
2.  當欄位有 null 值,where [clumnName] not in ('A')  也會排除 null 的狀況
     直覺上,只要下 not in (..)  那會其他項目都會抓出,但是實際上,該欄位是 null的資料也會被排除
     因為資料庫一旦你對某欄位下條件,他就會排除 null 的欄位,除非你指定  [clumnName] is null 才會有資料
 
More...
darren, 2022/9/23 下午 04:06:22
~ Uwinfo ~