2018年5月9日 星期三

MySQL常用日期函數

MySQL常用日期函數,日期相減,按天、週、月查詢
MySQL日期函數
[sql] view plaincopy 
  1. select  now();  --獲取當前時間  
  2. select  DAYOFWEEK(now());  -- -- 1=星期天,2=星期一,3星期二,...  
  3. select  WEEKDAY(now());  -- --0=星期一,1星期二,...  
  4. select  DAYOFMONTH(now());  -- --本月的第幾天(幾號)  
  5. select  DAYOFYEAR(now());  -- --本年的第幾天(幾號)  
  6. select MONTH (now());  -- --返回當前日期的月份   
  7. select  DAYNAME(now());  -- --返回週幾(英文形式)  
  8. select  MONTHNAME(now());  -- --返回某月(英文形式)  
  9. select  QUARTER(now());  -- --返回這年的第幾個季度  

日期相減(注意:timediff(time1,time2) 函數的兩個參數類型必須相同。):
[sql] view plaincopy 
  1. MySQL datediff(date1,date2):兩個日期相減 date1 - date2,返回天數。  
  2. select  datediff( '2008-08-08' ,  '2008-08-01' );  -- 7  
  3. select  datediff( '2008-08-01' ,  '2008-08-08' );  -- -7  
[sql] view plaincopy 
  1. MySQL timediff(time1,time2):兩個日期相減time1 - time2,返回  time  差值。  
  2. select  timediff( '2008-08-08 08:08:08' ,  '2008-08-08 00:00:00' );  -- 08:08:08  
  3. select  timediff( '08:08:08' ,  '00:00:00' );  -- 08:08:08  
日期相加:
[sql] view plaincopy 
  1. select  date_add(now(), INTERVAL 1 DAY_HOUR);  --當前時間加一個小時  
  2. select  date_add(now(), INTERVAL 2  DAY );  --當前時間加兩天  

按日期查詢:
1、查當天數據
[sql] view plaincopy 
  1. date_format(a.create_date,  '%Y-%m-%d' ) = date_format(now(),  '%Y-%m-%d' );  
2、查本週數據
[sql] view plaincopy 
  1. date_format(a.create_date,  '%Y-%u' ) = date_format(now(),  '%Y-%u' )  
3、查本月數據
[sql] view plaincopy 
  1. date_format(a.create_date,  '%Y-%m' ) = date_format(now(),  '%Y-%m' )  

Regular Expression 正則表示式做字串比對

Regular Expression 中文翻成正則表示式 英文簡寫為 Regex 或 RegExp RegExp 是用來比對字串是不是有符合正確的格式 語法很簡單而且大部分語言都有支援它 使用時機 譬如說你需要在程式內請使用者輸入生日 你規定的格式 1996-08...