1.獲取當前時間函數
select now()
2.獲取當前時間
select current_time()
3.時間轉換字符串
select date_format(now(), '%Y-%m-%d');
4.時間轉時間戳
select unix_timestamp(now());
5.字符串轉時間
select str_to_date('2016-01-02', '%Y-%m-%d %H');
6.字符串轉時間戳
select unix_timestamp('2016-01-02');
7.時間戳轉時間
select from_unixtime(1451997924);
8.時間戳轉字符串
select from_unixtime(1451997924,'%Y-%d');
獲取當前時間是周幾函數
select date_format(curdate(),'%w') from dual;
使用datefromat轉換字符串 :
date_format(sap.sample_create,'%Y-%m-%d %H:%i:%s')
查詢某個字段是否包含str,等同於in用法
FIND_IN_SET(str,strlist)
str 要查詢的字符串
strlist 字段名 參數以”,”分隔 如 (1,2,6,8)
下面舉例說明
test表中有如下字段及值
下面我想查詢area中包含”1″這個參數的記錄
SELECT * from test where FIND_IN_SET('1',area)
現在有個需求,在我們查詢數據時希望在前面加上序號,這是怎麼做呢?請看:
set @rowNum=0;
select @rowNum:=@rowNum+1 as num (num序號從1開始)
關於inplace into函數:
1. 首先判斷數據是否存在; 2. 如果不存在,則插入;3.如果存在,則更新。(注意是根據主鍵或者唯一索引判斷)
用法:inplace into test() values ()
時間範圍查詢:
今天
select * from 表名 where to_days(時間字段名) = to_days(now());
昨天
SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 時間字段名) <= 1
近7天
SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(時間字段名)
近30天
SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(時間字段名)
本月
SELECT * FROM 表名 WHERE DATE_FORMAT( 時間字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
上一月
SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 時間字段名, '%Y%m' ) ) =1
查詢本季度數據
select * from `ht_invoice_information` where QUARTER(create_date)=QUARTER(now());
查詢上季度數據
select * from `ht_invoice_information` where QUARTER(create_date)=QUARTER(DATE_SUB(now(),interval 1 QUARTER));
查詢本年數據
select * from `ht_invoice_information` where YEAR(create_date)=YEAR(NOW());
查詢上年數據
select * from `ht_invoice_information` where year(create_date)=year(date_sub(now(),interval 1 year));
查詢當前這周的數據
SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now());
查詢上週的數據
SELECT name,submittime FROM enterprise WHERE YEARWEEK(date_format(submittime,'%Y-%m-%d')) = YEARWEEK(now())-1;
對結果字段進行判斷的函數
SELECT
`id` '用戶ID',
`name` '用戶名稱',
(
CASE `state` WHEN 1 THEN '正常'
WHEN 2 THEN '不正常'
ELSE NULL
END
) '用戶狀態'
FROM
`user`
SELECT * FROM `magazine` WHERE CONCAT(IFNULL(`title`,''),IFNULL(`tag`,''),IFNULL(`description`,'')) LIKE ‘%關鍵字%’