国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

mysql條件查詢if case 用法詳解

2024-07-24 12:37:34
字體:
供稿:網(wǎng)友

在mysql條件查詢除了使用where之外我們還可以使用像if case進行判斷查詢了這個比where要高級一些下面我來給大家介紹幾個條件查詢實例。

where條件查詢,代碼如下:

  1. select * from news where DATE(adddate) between  
  2. '2011-04-20' - INTERVAL 5 DAY and '2011-04-20' + INTERVAL 5 DAY 
  3.    
  4. select * from news where DATE(adddate) in ('2011-04-20','2011-04-15','2011-04-25'

IF條件語句的使用,mysql條件判斷語句if的使用,先判斷數(shù)據(jù)庫中是否存在是否存在指定值存在就修改不存在就添加.

這里我就用啦mysql存儲過程的if語句,代碼如下:

  1.  DROP  PROCEDURE  IF EXISTS   過程名; 
  2. CREATE   PROCEDURE  過程名(   
  3.     IN     trueName           VARCHAR(100),          
  4.     IN     phone             VARCHAR(100),            
  5.     IN     qqmsn              VARCHAR(100),            
  6.     IN     mail               VARCHAR(100),           
  7.     IN     mac               VARCHAR(100),          
  8.     IN     heartip           VARCHAR(100)            
  9.     ) 
  10.     NOT DETERMINISTIC 
  11.     SQL SECURITY DEFINER 
  12.     COMMENT '' 
  13. BEGIN    
  14. SELECT count(id) INTO @maccount  from `表名` where `表名`.mac=mac; --是否存在此記錄 
  15.  if (@maccount>0) THEN 
  16.  update  `表名`  set `trueName`=trueName,`phone`=phone,`qqmsn`=qqmsn,`mail`=mail,`mac`=mac, --Vevb.com 
  17. `heart`=`heart`+1,`heartip`=heartip,`heartdatetime`=CURRENT_TIMESTAMP WHERE 表 
  18. 名.mac=mac;  
  19. ELSE 
  20. insert into `表名` (`trueName`,`phone`,`qqmsn`,`mail`,`mac`,`heartip`,`heartdatetime`)VALUES(trueName,phone,qqmsn,mail,mac,heartip,CURRENT_TIMESTAMP); 
  21. end IF; 
  22. END 

case條件語句,代碼如下:

  1. select substr(t1.area_id, 1, 1) type, 
  2.        substr(t1.area_id, 2) id, 
  3.        case substr(t1.area_id, 1, 1) 
  4.          when 'c' then 
  5.           (select t2.country 
  6.              from countnumber.dbtable_countryid t2 
  7.             where t2.id = substr(t1.area_id, 2)) 
  8.          else 
  9.           (select distinct t3.province 
  10.              from countnumber.dbtable_provinceid t3 
  11.             where t3.id = substr(t1.area_id, 2)) 
  12.        end name 
  13.   from t_ad_area t1 

在第一個方案的返回結(jié)果中,value=compare-value,而第二個方案的返回結(jié)果是第一種情況的真實結(jié)果,如果沒有匹配的結(jié)果值,則返回結(jié)果為ELSE后的結(jié)果,如果沒有ELSE 部分,則返回值為 NULL,代碼如下:

  1. mysql> SELECT CASE 1 WHEN 1 THEN 'one' 
  2.     ->     WHEN 2 THEN 'two' ELSE 'more' END
  3.         -> 'one' 
  4. mysql> SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END
  5.         -> 'true' 
  6. mysql> SELECT CASE BINARY 'B' 
  7.     ->     WHEN 'a' THEN 1 WHEN 'b' THEN 2 END
  8.         -> NULL

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 安化县| 田阳县| 新巴尔虎左旗| 龙门县| 察隅县| 年辖:市辖区| 横峰县| 西贡区| 平安县| 磴口县| 乌兰察布市| 临夏市| 高尔夫| 延川县| 年辖:市辖区| 桓仁| 疏勒县| 河北区| 策勒县| 阳东县| 庆安县| 平昌县| 垣曲县| 共和县| 阿拉善盟| 历史| 蓬莱市| 荣成市| 祁门县| 乐陵市| 雷州市| 秭归县| 大英县| 永新县| 修水县| 曲麻莱县| 武邑县| 宁德市| 玛多县| 麟游县| 尉犁县|