您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Mysql函数手册(PDF版)
知博网zhiblog.comMySQL专题MMMMysqlysqlysqlysql函数手册日期函数:日期函数:日期函数:日期函数:一、MySQL获得当前日期时间函数1.1获得当前日期+时间(date+time)函数:now()mysqlselectnow();+---------------------+|now()|+---------------------+|2008-08-0822:20:46|+---------------------+除了now()函数能获得当前的日期时间外,MySQL中还有下面的函数:current_timestamp(),current_timestamp,localtime(),localtime,localtimestamp--(v4.0.6),localtimestamp()--(v4.0.6)这些日期时间函数,都等同于now()。鉴于now()函数简短易记,建议总是使用now()来替代上面列出的函数。1.2获得当前日期+时间(date+time)函数:sysdate()sysdate()日期时间函数跟now()类似,不同之处在于:now()在执行开始时值就得到了,sysdate()在函数执行时动态得到值。看下面的例子就明白了:mysqlselectnow(),sleep(3),now();+---------------------+----------+---------------------+|now()|sleep(3)|now()|+---------------------+----------+---------------------+|2008-08-0822:28:21|0|2008-08-0822:28:21|+---------------------+----------+---------------------+mysqlselectsysdate(),sleep(3),sysdate();知博网zhiblog.comMySQL专题+---------------------+----------+---------------------+|sysdate()|sleep(3)|sysdate()|+---------------------+----------+---------------------+|2008-08-0822:28:41|0|2008-08-0822:28:44|+---------------------+----------+---------------------+可以看到,虽然中途sleep3秒,但now()函数两次的时间值是相同的;sysdate()函数两次得到的时间值相差3秒。MySQLManual中是这样描述sysdate()的:Returnthetimeatwhichthefunctionexecutes。sysdate()日期时间函数,一般情况下很少用到。2.获得当前日期(date)函数:curdate()mysqlselectcurdate();+------------+|curdate()|+------------+|2008-08-08|+------------+其中,下面的两个日期函数等同于curdate():current_date(),current_date3.获得当前时间(time)函数:curtime()mysqlselectcurtime();+-----------+|curtime()|+-----------+|22:41:30|+-----------+其中,下面的两个时间函数等同于curtime():current_time(),current_time4.获得当前UTC日期时间函数:utc_date(),utc_time(),utc_timestamp()知博网zhiblog.comMySQL专题mysqlselectutc_timestamp(),utc_date(),utc_time(),now()+---------------------+------------+------------+---------------------+|utc_timestamp()|utc_date()|utc_time()|now()|+---------------------+------------+------------+---------------------+|2008-08-0814:47:11|2008-08-08|14:47:11|2008-08-0822:47:11|+---------------------+------------+------------+---------------------+因为我国位于东八时区,所以本地时间=UTC时间+8小时。UTC时间在业务涉及多个国家和地区的时候,非常有用。二、MySQL日期时间Extract(选取)函数。1.选取日期时间的各个部分:日期、时间、年、季度、月、日、小时、分钟、秒、微秒set@dt='2008-09-1007:15:30.123456';selectdate(@dt);--2008-09-10selecttime(@dt);--07:15:30.123456selectyear(@dt);--2008selectquarter(@dt);--3selectmonth(@dt);--9selectweek(@dt);--36selectday(@dt);--10selecthour(@dt);--7selectminute(@dt);--15selectsecond(@dt);--30selectmicrosecond(@dt);--1234562.MySQLExtract()函数,可以上面实现类似的功能:set@dt='2008-09-1007:15:30.123456';selectextract(yearfrom@dt);--2008selectextract(quarterfrom@dt);--3selectextract(monthfrom@dt);--9selectextract(weekfrom@dt);--36selectextract(dayfrom@dt);--10selectextract(hourfrom@dt);--7selectextract(minutefrom@dt);--15selectextract(secondfrom@dt);--30selectextract(microsecondfrom@dt);--123456selectextract(year_monthfrom@dt);--200809selectextract(day_hourfrom@dt);--1007知博网zhiblog.comMySQL专题selectextract(day_minutefrom@dt);--100715selectextract(day_secondfrom@dt);--10071530selectextract(day_microsecondfrom@dt);--10071530123456selectextract(hour_minutefrom@dt);--715selectextract(hour_secondfrom@dt);--71530selectextract(hour_microsecondfrom@dt);--71530123456selectextract(minute_secondfrom@dt);--1530selectextract(minute_microsecondfrom@dt);--1530123456selectextract(second_microsecondfrom@dt);--30123456MySQLExtract()函数除了没有date(),time()的功能外,其他功能一应具全。并且还具有选取‘day_microsecond’等功能。注意这里不是只选取day和microsecond,而是从日期的day部分一直选取到microsecond部分。够强悍的吧!MySQLExtract()函数唯一不好的地方在于:你需要多敲几次键盘。3.MySQLdayof...函数:dayofweek(),dayofmonth(),dayofyear()分别返回日期参数,在一周、一月、一年中的位置。set@dt='2008-08-08';selectdayofweek(@dt);--6selectdayofmonth(@dt);--8selectdayofyear(@dt);--221日期'2008-08-08'是一周中的第6天(1=Sunday,2=Monday,...,7=Saturday);一月中的第8天;一年中的第221天。4.MySQLweek...函数:week(),weekofyear(),dayofweek(),weekday(),yearweek()set@dt='2008-08-08';selectweek(@dt);--31selectweek(@dt,3);--32selectweekofyear(@dt);--32selectdayofweek(@dt);--6selectweekday(@dt);--4selectyearweek(@dt);--200831MySQLweek()函数,可以有两个参数,具体可看手册。weekofyear()和week()知博网zhiblog.comMySQL专题一样,都是计算“某天”是位于一年中的第几周。weekofyear(@dt)等价于week(@dt,3)。MySQLweekday()函数和dayofweek()类似,都是返回“某天”在一周中的位置。不同点在于参考的标准,weekday:(0=Monday,1=Tuesday,...,6=Sunday);dayofweek:(1=Sunday,2=Monday,...,7=Saturday)MySQLyearweek()函数,返回year(2008)+week位置(31)。5.MySQL返回星期和月份名称函数:dayname(),monthname()set@dt='2008-08-08';selectdayname(@dt);--Fridayselectmonthname(@dt);--August思考,如何返回中文的名称呢?6.MySQLlast_day()函数:返回月份中的最后一天。selectlast_day('2008-02-01');--2008-02-29selectlast_day('2008-08-08');--2008-08-31MySQLlast_day()函数非常有用,比如我想得到当前月份中有多少天,可以这样来计算:mysqlselectnow(),day(last_day(now()))asdays;+---------------------+------+|now()|days|+---------------------+------+|2008-08-0911:45:45|31|+---------------------+------+三、MySQL日期时间计算函数1.MySQL为日期增加一个时间间隔:date_add()set@dt=now();selectdate_add(@dt,interval1day);--add1dayselectdate_add(@dt,interval1hour);--add1hourselectdate_add(@dt,interval1minute);--...selectdate_add(@dt,interval1second);知博网zhiblog.comMySQL专题selectdate_add(@dt,int
本文标题:Mysql函数手册(PDF版)
链接地址:https://www.777doc.com/doc-6384084 .html