这篇文章主要介绍了mysql常用日期与计算函数的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
<强> unix_timestamp() 强>
unix_timestamp函数可以接受一个参数,也可以不使用参数。
它的返回值是一个无符号的整数。不使用参数,它返回自1970年1月1日0时0分0秒到现在所经过的秒数,
如果使用参数,参数的类型为时间类型或者时间类型的字符串表示,则是从1970-01-01就是到指定时间所经历的秒数。
有了这个函数,就可以很自然地把时间比较转换为一个无符号整数的比较。
例如,判断一个时间是否在一个区间内
unix_timestamp (, time ),结构、unix_timestamp (, & # 39; start & # 39;),以及unix_timestamp(, & # 39;结束# 39;,)
这里是一个使用日期函数的例子。
下面的查询选择了所有记录,其date_col的值是在最后30天以内:
mysql>, SELECT something 得到table WHERE TO_DAYS(现在()),安康;TO_DAYS (date_col), & lt;=, 30;
<强> DAYOFWEEK(日期)强>
返回日期日期的星期索引(1=星期天,2=星期一,……7=星期六)。这些索引值对应于ODBC标准。
mysql>, SELECT DAYOFWEEK (& # 39; 1998 - 02 - 03 & # 39;); →,3
<强>工作日(日期)强>
返回日期的星期索引(0=星期一,1=星期二,……6=星期天)。
mysql>, select 工作日(& # 39;1997 - 10 - 04 -,22:23:00& # 39;); →5 mysql>, select 工作日(& # 39;1997 - 11 - 05 - & # 39;); →,2
<强> DAYOFMONTH(日期)强>
返回日期的月份中日期,在1日到31日范围内。
mysql>, select DAYOFMONTH (& # 39; 1998 - 02 - 03 & # 39;); →,3
<强> DAYOFYEAR(日期)强>
返回日期在一年中的日数,在1到366范围内。
mysql>, select DAYOFYEAR (& # 39; 1998 - 02 - 03 & # 39;); →,34
<强>月(日期)强>
返回日期的月份,范围1到12。
mysql>, select 月(& # 39;1998 - 02 - 03 & # 39;); →,2
<强> DAYNAME(日期)强>
返回日期的星期名字。
mysql>, select DAYNAME(“1998 - 02年- 05年“); →,& # 39;周四# 39;
<强> MONTHNAME(日期)强>
返回日期的月份名字。
mysql>, select MONTHNAME(“1998 - 02年- 05年“); →,& # 39;2 # 39;
<>强劲季度(日期)强>
返回日期一年中的季度,范围1到4。
mysql>, select 季度(& # 39;98 - 04 - 01 & # 39;); →,2
<强>周(日期)强>
<强>周(日期、第一)强>
对于星期天是一周的第一天的地方,有一个单个参数,返回日期的周数,范围在0到52.2个参数形式星期()允许你指定星期是否开始于星期天或星期一。如果第二个参数是0,星期从星期天开始,如果第二个参数是1,从星期一开始。
mysql>, select 一周(& # 39;1998 - 02年- 20 & # 39;); →7 mysql>, select 一周(& # 39;1998 - 02年- 20 & # 39;,0); →7 mysql>, select 一周(& # 39;1998 - 02年- 20 & # 39;,1); →,8
<强>年(日期)强>
返回日期的年份,范围在1000到9999。
mysql>, select 年(& # 39;98 - 02 - 03 & # 39;); →,1998
<强>小时(时间)强>
返回时间的小时,范围是0到23。
mysql>, select 小时(& # 39;10:05:03& # 39;); →,10
<强>分钟(时间)强>
返回时间的分钟,范围是0到59。
mysql>, select 一分钟(& # 39;98 - 02 - 03,10:05:03& # 39;); →,5
<强>第二(时间)强>
回来时间的秒数,范围是0到59。
mysql>, select 第二(& # 39;10:05:03& # 39;); →,3
<强> PERIOD_ADD (p, N) 强>
增加N个月到阶段p(以格式YYMM或YYYYMM)。以格式YYYYMM返回值。注意阶段参数p不是日期值。
mysql>, select PERIOD_ADD (9801 2); →,199803
<强> PERIOD_DIFF (P1, P2) 强>
返回在时期P1和P2之间月数,P1和P2应该以格式YYMM或YYYYMM。注意,时期参数P1和P2不是日期值。
mysql>, select PERIOD_DIFF (9802、199703); →,11
<强> DATE_ADD(日期、时间间隔expr类型)