資料庫查詢與時間有關的一些問題

2021-08-28 05:56:09 字數 2194 閱讀 8738

##查詢最近的一條資訊

select column_name(s) from table_name where column_name = pattern order by create_time desc limit 1;

在某些情況下,如果明知道查詢結果只有乙個,sql語句中使用limit 1 會提高查詢效率,避免全表掃瞄。

##查詢今天

select column_name(s) from table_name where date_format( create_time,'%y-%m-%d') = date_format(now(), '%y-%m-%d');

date_format()函式用於以不同的格式顯示日期/時間資料

date_format(date,format)

date引數是合法的日期。format規定日期/時間的輸出格式

now()函式返回當前的日期和時間

date()提取日期或日期/時間表示式的日期部分

##查詢昨天

select column_name(s) from table_name where date_format( create_time,'%y-%m-%d') = date_format(curdate()-1,'%y-%m-%d');

select column_name(s) from table_name where date(create_time) =date(curdate()-1);

##輸出格式:2017-04-14

select curdate();

##輸出格式:2017-04-14 13:44:11

select now();

##查詢乙個星期內的資料

## date_sub(date,interval expr unit) 從日期減去指定的時間間隔

select column_name(s) from table_name where date_sub(curdate(),interval 7 day) <=date(create_time) order by create_time desc;

##查詢乙個月內的資料

select column_name(s) from table_name where date_sub(curdate(),interval 1 month) <= date(create_time) order by create_time desc;

##返回date的星期索引(1 = sunday, 2 = monday, ... 7 = saturday)。索引值符合 odbc 的標準

select dayofweek(create_time) from table_name order by create_time desc;

##格式化時間

select date_format(create_time,'%y-%m-%d') from table_name ;

##返回當前時間 輸出格式:15:17:51

select curtime();

##給日期新增指定的時間間隔  date_add(date,interval expr unit)

select column_name(s) from table_name where date_add(create_time,interval 1 day) <= date(now());

##返回兩個日期之間的天數 datediff(expr1,expr2)

select column_name(s) from table_name where datediff( now(),create_time)=0

=0代表查詢的是當天,=1 查詢的就是昨天……

有關「鏈結資料庫」的一些問題

今天定義了乙個 鏈結資料庫 它主要用來在本地資料庫上建立一條對於遠端資料庫的 鏈結 使用時就像操作本地資料表 只能操作表和視表 一樣,給程式設計工作帶來了極大的便利和靈活。在使用時遇到一些問題,特記錄下來 1 可以利用系統儲存過程或企業管理器來建立,應該都比較簡單,但我在做的時候卻搞了半天也不成功,...

資料庫的一些問題

什麼是事務?事務的acid特性 事務的併發控制可能產生哪些問題 為了解決併發控制,定義了4種事務隔離級別 mysql innodb預設實現可重複讀級別 如何解決高併發場景下的插入重複 什麼是樂觀鎖,什麼是悲觀鎖 innodb vs myisam常見的區別 為什麼需要索引?查詢結構進化史 什麼是b t...

資料庫設計的一些問題

原則 如果列中要儲存的資料長度差不多一致的,則因該考慮用char 否則因該考慮用varchar。如果列中的最大資料長度小於50byte,則一般也考慮用char。當然如果這個列很少用,則基於節省空間和減少i o的考慮,還是可以選擇varchar 一般不宜定義大於50byte的char型別列。原則 de...