首页 > 编程知识 正文

mysqlnull转换为0,sql 时间戳转换成日期

时间:2023-05-04 06:20:22 阅读:172261 作者:2524

Mysql日期转换函数、时间转换函数

另一方面,MySQL获得当前日期和时间函数

1 )获取当前日期和时间(date time )函数) now ) :

选择now (;

结果: 2008-08-08 22:20:46

2 )获取当前日期和时间(date time )函数: sysdate ) ) ) ) )。

与sysdate (日期和时间函数为now )类似,不同之处在于now )在执行开始时获得值,而sysdate )在函数执行时动态获得值。

选择系统(;

结果: 2008-08-08 22:20:46

3、MySQL获取当前时间戳函数。 current_timestamp,current_timestamp (

select current_timestamp,current_timestamp (;

结果: 2008-08-092:22336024、2008-08-092:22336024

二. MySQL日期转换函数、时间转换函数

1、MySQL Date/Time to Str (将日期/时间转换为字符串)函数: date _ format (date,format )、time _ format (time,format ) :

函数: date _ format (2008-08-082233602336001 )、(%Y%m%d%H%i%s ) )

结果: 20080808222301

MySQL日期-时间转换函数(date_format(date,format )、time _ format (time )、format )可将一个日期/时间转换为各种字符串格式。 这是str_to_date(str,format )函数的逆变换。

2、MySQL Str to Date (字符串到日期转换)函数: str _ to _ date (str,format ) :

selectstr_to_date((08/09/2008 ),) %m/%d/%Y ); --2008-08-09

selectstr_to_date((08/09/08 ),) %m/%d/%y ); --2008-08-09

selectstr_to_date('08.09.2008 ',' %m.%d.%Y ' ); --2008-08-09

select str _ to _ date ((08336009336030 )、(%h:%i:%s ) ); --08:09:30

select str _ to _ date (08.09.200808336009336030 )、(%m.%d.%Y %h:%i:%s ) ); --2008-08-09 08:09:30

str_to_date(str,format )转换函数将杂乱的字符串转换为日期格式。

3、MySQL (日期,天数)转换函数(to_days ) date ),from _ days (days ) :

选择to _ days (0000-00-00 ); -0

选择to _ days (2008-08-08 ); --733627

4、MySQL (时间,秒)转换函数: time _ to _ sec (time )、sec _ to _ time (seconds ) :

select time _ to _ sec (01:00336005 ); --3605

selectsec_to_time(3605; --'01:00:05 "

5、MySQL补片日期,时间函数: makdedate(year,dayofyear )、maketime (hour,minute,second ) :

selectmakedate (2001,31 ); --'2001-01-31 '

selectmakedate (2001,32 ); --'2001-02-01 '

selectmaketime (12,15,30 ); --'12:15:30 '

6、MySQL(UNIX时间戳,日期)转换函数:

unix_timestamp (

UNIX_timestamp(date )、

from_UNIXtime(UNIX_TimeStamp )、

from_UNIXtime(UNIX_TimeStamp,format ) )。

三. MySQL日期和时间计算函数

1、MySQL在日期中添加间隔。 date_add (:

set @dt=now (; 选择date _ add (@ dt,interval 1 day; --add 1天

slectdate_add(@dt,interval 1 hour; --add 1 hour

选择date _ add (@ dt,interval 1 minute; -- .

选择date _ add (@ dt,interval 1second; slectdate_add(@dt,interval 1microsecond; slectdate_add(@dt,interval 1week ); slectdate_add(@dt,interval 1 month; selectdate_add(@dt,interval 1quarter ); slectdate_add(@dt,interval 1 year; 选择date _ add (@ dt,interval -1 day; - -子1天

2、可以用MySQL adddate (,addtime ) (函数) date_add ()代替) :

set @ dt=' 2008-08-0912:12336033 '; selectdate_add(@dt,interval ' 01336015336030 ' hour _ second );

结果: 2008-08-09 13:28:03

selectdate_add(@dt,interval ' 101336015336030 ' day _ second );

结果: 2008-08-10 13:28:03

3、MySQL是日期减去时间间隔后的结果。 date_sub (:

选择date _ sub (1998-01-010033600336000 (,interval ) 1133601:1 ) day_second );

结果: 1997-12-30 22:58:59

4、MySQL日期,时间相减函数: datediff(date1,date2 ),timediff (time 2,time2) :

MySQLdatediff(date1,date2 ) :从两个日期中减去date1 -date2,返回天数。 选择数据(2008-08-01,) 2008-08-01; -7

选择数据(2008-08-08、2008-08-08 ); ---7

5、MySQLtimediff(time1,time2) :从两个日期中减去time1 - time2,返回time之差。

选择时间(2008-08-0808336008336008 (,2008-08-08 00:00:00 ); --08:08:08

选择时间(08336008336008、00:00 ); --08:08:08

注意: timediff(time1、time2)函数的两个参数类型必须相同。

6、MySQL时间戳(timestamp )转换、增量、减量函数:

timestamp----datetotimestamp

timestamp(dt,time )--dt time

timestampadd(unit,interval,datetime_expr ) )。

timestampdiff(unit,datetime_expr1,datetime_expr2) selecttimestamp('2008-08-08 ' ); -2008-08-0800336000336000

选择时间(2008-08-0808336000336000 )、) 01:01:01; --2008-08 09:01:01

选择时间(2008-08-080833600336000 (,10 01:01:01 ); --2008-08-18 09:01:01

selecttimestampadd(day,1,' 2008-08-08 08:00:00 ' ); --2008-08-09 08:00:00

select date _ add (2008-08-080833600336000 )、interval 1 day ); --2008-08-09 08:00:00

与MySQL timestampadd (函数为date_add )类似。 selecttimestampdiff(year,' 2002-05-01 ',' 2001-01-01 ' ); ---1

selecttimestampdiff(day,' 2002-05-01 ',' 2001-01-01 ' ); ---485

selecttimestampdiff(hour,' 2008-08-08 12:00:00 ',' 2008-08-00336000:00 ' ); ---12

选择数据(2008-08-081233600336000 (,2008-08-01 00:00:00 ) ); -7

比MySQL timestampdiff (函数为datediff )功能强大得多,datediff )只能计算两个日期(date )之间的差值天数。

四. MySQL时区转换函数

convert_tz(dt,from_tz,to_tz ) select convert _ tz (2008-08-0812336000336000 )、08:00 )、003333333333333330

也可以通过date_add、date_sub和timestampadd实现时区转换。

选择数据_ add (2008-08-081233600336000 )、interval -8 hour ); -2008-08-0804336000336000

选择数据_ sub (2008-08-081233600336000 )、interval 8 hour ); -2008-08-0804336000336000

selecttimestampadd(hour,-8,' 2008-08-081233600336000 ' ); -2008-08-0804336000336000

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。