国产探花免费观看_亚洲丰满少妇自慰呻吟_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月的方法。

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 明星| 施甸县| 丹凤县| 探索| 都兰县| 无棣县| 苗栗市| 芮城县| 临沧市| 尼玛县| 阳泉市| 玉田县| 蕉岭县| 湖南省| 靖西县| 万载县| 嵊泗县| 大田县| 卢湾区| 静安区| 嘉峪关市| 镇坪县| 郸城县| 寿宁县| 宁远县| 宿迁市| 兰坪| 衡南县| 元阳县| 八宿县| 古蔺县| 五寨县| 福海县| 华亭县| 武定县| 怀远县| 民权县| 乐都县| 安吉县| 河源市| 沐川县|