最近逛博客園的時候偶然看到一個很巧妙的SQL,巧妙利用CASE WHEN 實現一個簡單的 SQL 同時驗證用戶賬號是否存在、密碼是否正確。曉菜鳥以前的作法都是根據用戶名和密碼一塊兒驗證,若是驗證失敗直接提示"用戶名或密碼錯誤",不過好像大多數網站都是這麼提示的,不給用戶提示得很是清楚,只須要讓用戶知道失敗了就行!學習
好了,廢話很少說,直接上代碼吧!網站
SELECT CASE WHEN [Pwd]='13955235295b23976' THEN 1 ELSE 0 END as [IsExist] FROM [User] WHERE [LoginName] = '曉菜鳥'
解釋:spa
一、若是用戶名不存在,則查詢結果是無數據.code
二、若是用戶名存在但密碼不正確,則查詢結果是 0.blog
三、若是用戶名存在且密碼正確,則查詢結果是 1.get
雖然只是個小技巧,可是成長不正是一點一滴累積起來的嗎,曉菜鳥會在系統重構的時候用上這個的,也但願能對你們有用!:)
博客