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

首頁 > 學院 > 開發設計 > 正文

MySQL日期和時間處理函數應用總結

2019-11-09 13:38:25
字體:
來源:轉載
供稿:網友

MySQL對于日期的處理應該遵循: 1、無論如何,日期的格式必須為yyyy-mm-dd,雖然其他格式也行,但是這種方式排出了多義性,(04/05/2016) 2、總是應該使用4位數字的年份。雖然支持2位數字的年份,但是使用完整的4位數字年份更可靠。

簡單的日期比較

select cust_id,order_num from orders where order_date = ‘2015-09-01’;

思考:一般情況下,使用這種方式可以檢索的數據,但是, where order_date = ‘2015-09-01’是可靠的嗎?

這里寫圖片描述

order_date的數據類型為datetime,這種類型儲存日期及時間值,樣例表中的值全都具有時間值00:00:00, 但在實際中,可能并不總是這樣。如果利用當前日期和時間存儲訂單日期(不僅知道訂單日期,還知道下訂單當天的時間),怎么辦? 例如:存儲的order_date=’2005-09-01 11:35:26’,則where order_date = ‘2015-09-01’失敗

這里寫圖片描述

于是 MySQL時間處理函數就有用了。

我們指示MySQL僅將給出的日期與列中的日期部分進行比較,而不是將給出的日期與整個列值進行比較 select cust_id,order_num from orders where Date(order_date)= ‘2005-09-01’

這里寫圖片描述

注意: 如果要的僅僅是日期,請使用Date()函數,即使你知道相對應的列只包含日期也應該如此。這樣的話,即使以后由于某種原由使用了時間值,你的sql代碼也不用改變。當然也是存在Time()函數,在你只想要時間時就要使用它

檢索日期范圍

思考:在某些情況,我們如果想要檢索2005年9月份的所有訂單。簡單的相等測試就不行了。 解決:兩種方式。 一、select cust_id , order_num,order_date from orders where Date(order_date) between ‘2005-09-01’ AND ‘2005-09-30’; 二、select cust_id , order_num,order_date from orders where Year(order_date) =2005 and Month(order_date) = 9; 這里寫圖片描述

注意:一般情況下,我們都是利用第二種進行,因為第二種方式,不需要考慮每個月有多少天,或不需要考慮閏年2月的方法。

日期常用函數 這里寫圖片描述


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛南县| 塘沽区| 沧源| 平远县| 新巴尔虎左旗| 扶绥县| 蓬溪县| 凤翔县| 蓝田县| 蓬莱市| 沽源县| 温宿县| 准格尔旗| 威宁| 八宿县| 环江| 阿拉善左旗| 吐鲁番市| 当涂县| 鸡西市| 钦州市| 宁津县| 孟连| 怀化市| 海门市| 哈密市| 保靖县| 大田县| 共和县| 榆社县| 鱼台县| 麻江县| 巢湖市| 壤塘县| 龙游县| 天长市| 雷州市| 游戏| 武平县| 南川市| 阿勒泰市|