精华内容
下载资源
问答
  • 关于MYSQL日期函数的有哪些知识是必须懂发布时间:2020-05-18 13:51:11来源:PHP中文网阅读:180作者:三月本文主要给大家介绍关于MYSQL日期函数的知识,文章内容都是笔者用心摘选和编辑,具有一定针对性,对...

    关于MYSQL日期函数的有哪些知识是必须懂的

    发布时间:2020-05-18 13:51:11

    来源:PHP中文网

    阅读:180

    作者:三月

    本文主要给大家介绍关于MYSQL日期函数的知识,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MYSQL日期函数的知识吧。

    对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。

    这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内:

    mysql> SELECT something FROM table

    WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;

    DAYOFWEEK(date)

    返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。

    mysql> select DAYOFWEEK('1998-02-03');

    -> 3

    WEEKDAY(date)

    返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。

    mysql> select WEEKDAY('1997-10-04 22:23:00');

    -> 5

    mysql> select WEEKDAY('1997-11-05');

    -> 2

    DAYOFMONTH(date)

    返回date的月份中日期,在1到31范围内。

    mysql> select DAYOFMONTH('1998-02-03');

    -> 3

    DAYOFYEAR(date)

    返回date在一年中的日数, 在1到366范围内。

    mysql> select DAYOFYEAR('1998-02-03');

    -> 34

    MONTH(date)

    返回date的月份,范围1到12。

    mysql> select MONTH('1998-02-03');

    -> 2

    DAYNAME(date)

    返回date的星期名字。

    mysql> select DAYNAME("1998-02-05");

    -> 'Thursday'

    MONTHNAME(date)

    返回date的月份名字。

    mysql> select MONTHNAME("1998-02-05");

    -> 'February'

    QUARTER(date)

    返回date一年中的季度,范围1到4。

    mysql> select QUARTER('98-04-01');

    -> 2

    WEEK(date)

    WEEK(date,first)

    对于星期天是一周的第一天的地方,有一个单个参数,返回date的周数,范围在0到52。2个参数形式WEEK()允许

    你指定星期是否开始于星期天或星期一。如果第二个参数是0,星期从星期天开始,如果第二个参数是1,

    从星期一开始。

    mysql> select WEEK('1998-02-20');

    -> 7

    mysql> select WEEK('1998-02-20',0);

    -> 7

    mysql> select WEEK('1998-02-20',1);

    -> 8

    YEAR(date)

    返回date的年份,范围在1000到9999。

    mysql> select YEAR('98-02-03');

    -> 1998

    HOUR(time)

    返回time的小时,范围是0到23。

    mysql> select HOUR('10:05:03');

    -> 10

    MINUTE(time)

    返回time的分钟,范围是0到59。

    mysql> select MINUTE('98-02-03 10:05:03');

    -> 5

    SECOND(time)

    回来time的秒数,范围是0到59。

    mysql> select SECOND('10:05:03');

    -> 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(date,INTERVAL expr type)

    DATE_SUB(date,INTERVAL expr type)

    ADDDATE(date,INTERVAL expr type)

    SUBDATE(date,INTERVAL expr type)

    这些功能执行日期运算。对于MySQL 3.22,他们是新的。ADDDATE()和SUBDATE()是DATE_ADD()和DATE_SUB()的同义词。

    在MySQL 3.23中,你可以使用+和-而不是DATE_ADD()和DATE_SUB()。(见例子)date是一个指定开始日期的

    DATETIME或DATE值,expr是指定加到开始日期或从开始日期减去的间隔值一个表达式,expr是一个字符串;它可以以

    一个“-”开始表示负间隔。type是一个关键词,指明表达式应该如何被解释。EXTRACT(type FROM date)函数从日期

    中返回“type”间隔。下表显示了type和expr参数怎样被关联: type值 含义 期望的expr格式

    SECOND 秒 SECONDS

    MINUTE 分钟 MINUTES

    HOUR 时间 HOURS

    DAY 天 DAYS

    MONTH 月 MONTHS

    YEAR 年 YEARS

    MINUTE_SECOND 分钟和秒 "MINUTES:SECONDS"

    HOUR_MINUTE 小时和分钟 "HOURS:MINUTES"

    DAY_HOUR 天和小时 "DAYS HOURS"

    YEAR_MONTH 年和月 "YEARS-MONTHS"

    HOUR_SECOND 小时, 分钟, "HOURS:MINUTES:SECONDS"

    DAY_MINUTE 天, 小时, 分钟 "DAYS HOURS:MINUTES"

    DAY_SECOND 天, 小时, 分钟, 秒 "DAYS HOURS:MINUTES:SECONDS"

    MySQL在expr格式中允许任何标点分隔符。表示显示的是建议的分隔符。如果date参数是一个DATE值并且你的计算仅仅

    包含YEAR、MONTH和DAY部分(即,没有时间部分),结果是一个DATE值。否则结果是一个DATETIME值。

    mysql> SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;

    -> 1998-01-01 00:00:00

    mysql> SELECT INTERVAL 1 DAY + "1997-12-31";

    -> 1998-01-01

    mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;

    -> 1997-12-31 23:59:59

    mysql> SELECT DATE_ADD("1997-12-31 23:59:59",

    INTERVAL 1 SECOND);

    -> 1998-01-01 00:00:00

    mysql> SELECT DATE_ADD("1997-12-31 23:59:59",

    INTERVAL 1 DAY);

    -> 1998-01-01 23:59:59

    mysql> SELECT DATE_ADD("1997-12-31 23:59:59",

    INTERVAL "1:1" MINUTE_SECOND);

    -> 1998-01-01 00:01:00

    mysql> SELECT DATE_SUB("1998-01-01 00:00:00",

    INTERVAL "1 1:1:1" DAY_SECOND);

    -> 1997-12-30 22:58:59

    mysql> SELECT DATE_ADD("1998-01-01 00:00:00",

    INTERVAL "-1 10" DAY_HOUR);

    -> 1997-12-30 14:00:00

    mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);

    -> 1997-12-02

    mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");

    -> 1999

    mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");

    -> 199907

    mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");

    -> 20102

    如果你指定太短的间隔值(不包括type关键词期望的间隔部分),MySQL假设你省掉了间隔值的最左面部分。例如,

    如果你指定一个type是DAY_SECOND,值expr被希望有天、小时、分钟和秒部分。如果你象"1:10"这样指定值,

    MySQL假设日子和小时部分是丢失的并且值代表分钟和秒。换句话说,"1:10" DAY_SECOND以它等价于"1:10" MINUTE_SECOND

    的方式解释,这对那MySQL解释TIME值表示经过的时间而非作为一天的时间的方式有二义性。如果你使用确实不正确的日期,

    结果是NULL。如果你增加MONTH、YEAR_MONTH或YEAR并且结果日期大于新月份的最大值天数,日子在新月用最大的天调整。

    mysql> select DATE_ADD('1998-01-30', Interval 1 month);

    -> 1998-02-28

    注意,从前面的例子中词INTERVAL和type关键词不是区分大小写的。

    TO_DAYS(date)

    给出一个日期date,返回一个天数(从0年的天数)。

    mysql> select TO_DAYS(950501);

    -> 728779

    mysql> select TO_DAYS('1997-10-07');

    -> 729669

    TO_DAYS()不打算用于使用格列高里历(1582)出现前的值。

    FROM_DAYS(N)

    给出一个天数N,返回一个DATE值。

    mysql> select FROM_DAYS(729669);

    -> '1997-10-07'

    TO_DAYS()不打算用于使用格列高里历(1582)出现前的值。

    DATE_FORMAT(date,format)

    根据format字符串格式化date值。下列修饰符可以被用在format字符串中: %M 月名字(January……December)

    %W 星期名字(Sunday……Saturday)

    %D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)

    %Y 年, 数字, 4 位

    %y 年, 数字, 2 位

    %a 缩写的星期名字(Sun……Sat)

    %d 月份中的天数, 数字(00……31)

    %e 月份中的天数, 数字(0……31)

    %m 月, 数字(01……12)

    %c 月, 数字(1……12)

    %b 缩写的月份名字(Jan……Dec)

    %j 一年中的天数(001……366)

    %H 小时(00……23)

    %k 小时(0……23)

    %h 小时(01……12)

    %I 小时(01……12)

    %l 小时(1……12)

    %i 分钟, 数字(00……59)

    %r 时间,12 小时(hh:mm:ss [AP]M)

    %T 时间,24 小时(hh:mm:ss)

    %S 秒(00……59)

    %s 秒(00……59)

    %p AM或PM

    %w 一个星期中的天数(0=Sunday ……6=Saturday )

    %U 星期(0……52), 这里星期天是星期的第一天

    %u 星期(0……52), 这里星期一是星期的第一天

    %% 一个文字“%”。

    所有的其他字符不做解释被复制到结果中。

    mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');

    -> 'Saturday October 1997'

    mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');

    -> '22:23:00'

    mysql> select DATE_FORMAT('1997-10-04 22:23:00',

    '%D %y %a %d %m %b %j');

    -> '4th 97 Sat 04 10 Oct 277'

    mysql> select DATE_FORMAT('1997-10-04 22:23:00',

    '%H %k %I %r %T %S %w');

    -> '22 22 10 10:23:00 PM 22:23:00 00 6'

    MySQL3.23中,在格式修饰符字符前需要%。在MySQL更早的版本中,%是可选的。

    TIME_FORMAT(time,format)

    这象上面的DATE_FORMAT()函数一样使用,但是format字符串只能包含处理小时、分钟和秒的那些格式修饰符。

    其他修饰符产生一个NULL值或0。

    CURDATE()

    CURRENT_DATE

    以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值,取决于函数是在一个字符串还是数字上下文被使用。

    mysql> select CURDATE();

    -> '1997-12-15'

    mysql> select CURDATE() + 0;

    -> 19971215

    CURTIME()

    CURRENT_TIME

    以'HH:MM:SS'或HHMMSS格式返回当前时间值,取决于函数是在一个字符串还是在数字的上下文被使用。

    mysql> select CURTIME();

    -> '23:50:26'

    mysql> select CURTIME() + 0;

    -> 235026

    NOW()

    SYSDATE()

    CURRENT_TIMESTAMP

    以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的

    上下文被使用。

    mysql> select NOW();

    -> '1997-12-15 23:50:26'

    mysql> select NOW() + 0;

    -> 19971215235026

    UNIX_TIMESTAMP()

    UNIX_TIMESTAMP(date)

    如果没有参数调用,返回一个Unix时间戳记(从'1970-01-01 00:00:00'GMT开始的秒数)。如果UNIX_TIMESTAMP()用一

    个date参数被调用,它返回从'1970-01-01 00:00:00' GMT开始的秒数值。date可以是一个DATE字符串、一个DATETIME

    字符串、一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地时间的一个数字。

    mysql> select UNIX_TIMESTAMP();

    -> 882226357

    mysql> select UNIX_TIMESTAMP('1997-10-04 22:23:00');

    -> 875996580

    当UNIX_TIMESTAMP被用于一个TIMESTAMP列,函数将直接接受值,没有隐含的“string-to-unix-timestamp”变换。

    FROM_UNIXTIME(unix_timestamp)

    以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp参数所表示的值,取决于函数是在一个字符串

    还是或数字上下文中被使用。

    mysql> select FROM_UNIXTIME(875996580);

    -> '1997-10-04 22:23:00'

    mysql> select FROM_UNIXTIME(875996580) + 0;

    -> 19971004222300

    FROM_UNIXTIME(unix_timestamp,format)

    返回表示 Unix 时间标记的一个字符串,根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条

    目同样的修饰符。

    mysql> select FROM_UNIXTIME(UNIX_TIMESTAMP(),

    '%Y %D %M %h:%i:%s %x');

    -> '1997 23rd December 03:43:30 x'

    SEC_TO_TIME(seconds)

    返回seconds参数,变换成小时、分钟和秒,值以'HH:MM:SS'或HHMMSS格式化,取决于函数是在一个字符串还是在数字

    上下文中被使用。

    mysql> select SEC_TO_TIME(2378);

    -> '00:39:38'

    mysql> select SEC_TO_TIME(2378) + 0;

    -> 3938

    TIME_TO_SEC(time)

    返回time参数,转换成秒。

    mysql> select TIME_TO_SEC('22:23:00');

    -> 80580

    mysql> select TIME_TO_SEC('00:39:38');

    -> 2378

    看完以上关于MYSQL日期函数的知识,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

    展开全文
  • sql语句中关于日期的函数总结 ADDTIME (date2 ,time_interval ); //将time_interval加到date2 CONVERT_TZ (datetime2 ,fromTZ ,toTZ ); //转换时区 CURRENT_DATE ( ); //当前日期 CURRENT_TIME ( ); //当前时间 ...

    sql语句中关于日期的函数总结

    ADDTIME (date2 ,time_interval ); //将time_interval加到date2
    CONVERT_TZ (datetime2 ,fromTZ ,toTZ ); //转换时区
    CURRENT_DATE ( ); //当前日期
    CURRENT_TIME ( ); //当前时间
    CURRENT_TIMESTAMP ( ); //当前时间戳
    DATE (datetime); //返回datetime的日期部分
    DATE_ADD (date2 , INTERVAL d_value d_type);//在date2中加上日期或时间
    datetimeDATE_SUB (date2 , INTERVAL d_value d_type); //在date2上减去一个时间
    DATE_FORMAT (datetime ,FormatCodes); //使用formatcodes格式显示
    LAST_DAY(date); //date的月的最后日期
    DATEDIFF (date1 ,date2); //两个日期差(天数)
    DAYOFYEAR (date); //一年中的第几天
    DAYOFMONTH(datetime) ;//月的第几天
    DAY (date); //返回日期的天
    WEEK (date_time [,start_of_week]); //第几周
    DAYNAME (date); //英文星期
    DAYOFWEEK (date); //星期(1-7) ,1为星期天
    MONTHNAME (date) ;//英文月份名
    EXTRACT (interval_name FROM date); //从date中提取日期的指定部分
    MAKEDATE (year ,day); //给出年及年中的第几天,生成日期串
    MAKETIME (hour ,minute ,second); //生成时间串
    NOW ( ); //当前时间
    SEC_TO_TIME (seconds); //秒数转成时间
    STR_TO_DATE (string ,format); //字串转成时间,以format格式显示
    TIMEDIFF (datetime1 ,datetime2) ;//两个时间差
    TIME_TO_SEC (time ) ;//时间转秒数
    YEAR (datetime) ;//年份
    MONTH(datetime); //月
    HOUR(datetime) ;//小时
    MINUTE(datetime); //分
    MICROSECOND(datetime) ;//微秒
    展开全文
  • hive中常见的关于日期的函数 unix_timestamp:返回当前或指定时间的时间戳 from_unixtime:将时间戳转为日期格式 current_date:当前日期 current_timestamp:当前的日期加时间 to_date:抽取日期部分 year:获取年 ...

    hive中常见的关于日期的函数

    unix_timestamp:返回当前或指定时间的时间戳
    from_unixtime:将时间戳转为日期格式
    current_date:当前日期
    current_timestamp:当前的日期加时间
    to_date:抽取日期部分
    year:获取年
    month:获取月
    day:获取日
    hour:获取时
    minute:获取分
    second:获取秒
    weekofyear:当前时间是一年中的第几周
    dayofmonth:当前时间是一个月中的第几天

    months_between: 两个日期间的月份,前-后

    add_months:日期加减月

    datediff:两个日期相差的天数,前-后

    date_add:日期加天数

    date_sub:日期减天数

    last_day:日期的当月的最后一天

    常用取整函数
    round: 四舍五入
    ceil: 向上取整
    floor: 向下取整

    常用字符串操作函数
    upper: 转大写
    lower: 转小写
    length: 长度

    trim: 前后去空格
    lpad: 向左补齐,到指定长度
    rpad: 向右补齐,到指定长度

    regexp_replace: SELECT regexp_replace(‘100-200’, ‘(\d+)’, ‘num’)='num-num
    使用正则表达式匹配目标字符串,匹配成功后替换!

    集合操作
    size: 集合(map和list)中元素的个数
    map_keys: 返回map中的key
    map_values: 返回map中的value

    array_contains: 判断array中是否包含某个元素
    sort_array: 将array中的元素排序

    展开全文
  • 1.获取当前时间+日期 函数now()mysql> selectnow();+---------------------+| now() |+---------------------+| 2008-08-08 22:20:46 |+---------------------+获得当前日期+时间(date + time)函数:sysdate()...

    1.获取当前时间+日期 函数now()

    mysql> selectnow();+---------------------+

    | now() |

    +---------------------+

    | 2008-08-08 22:20:46 |

    +---------------------+

    获得当前日期+时间(date + time)函数:sysdate()

    sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。看下面的例子就明白了:

    mysql> select now(), sleep(3), now();+---------------------+----------+---------------------+

    | now() | sleep(3) | now() |

    +---------------------+----------+---------------------+

    | 2008-08-08 22:28:21 | 0 | 2008-08-08 22:28:21 |

    +---------------------+----------+---------------------+

    MySQL 获得当前时间戳函数:current_timestamp, current_timestamp()

    mysql> select current_timestamp, current_timestamp();+---------------------+---------------------+

    | current_timestamp | current_timestamp() |

    +---------------------+---------------------+

    | 2008-08-09 23:22:24 | 2008-08-09 23:22:24 |

    +---------------------+---------------------+

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

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

    mysql> select date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s');+----------------------------------------------------+

    | date_format('2008-08-08 22:23:01', '%Y%m%d%H%i%s') |

    +----------------------------------------------------+

    | 20080808222301 |

    +----------------------------------------------------+

    可以看到,str_to_date(str,format) 转换函数,可以把一些杂乱无章的字符串转换为日期格式。另外,它也可以转换为时间。“format” 可以参看 MySQL 手册。

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

    select to_days('0000-00-00'); --0

    select to_days('2008-08-08'); --733627

    MySQL (时间、秒)转换函数:time_to_sec(time), sec_to_time(seconds)

    select time_to_sec('01:00:05'); --3605

    select sec_to_time(3605); --'01:00:05'

    MySQL 拼凑日期、时间函数:makdedate(year,dayofyear), maketime(hour,minute,second)

    select makedate(2001,31); --'2001-01-31'

    select makedate(2001,32); --'2001-02-01'

    select maketime(12,15,30); --'12:15:30'

    MySQL (Unix 时间戳、日期)转换函数

    unix_timestamp(),

    unix_timestamp(date),

    from_unixtime(unix_timestamp),

    from_unixtime(unix_timestamp,format)

    select unix_timestamp(); --1218290027

    select unix_timestamp('2008-08-08'); --1218124800

    select unix_timestamp('2008-08-08 12:30:00'); --1218169800

    select from_unixtime(1218290027); --'2008-08-09 21:53:47'

    select from_unixtime(1218124800); --'2008-08-08 00:00:00'

    select from_unixtime(1218169800); --'2008-08-08 12:30:00'

    select from_unixtime(1218169800, '%Y %D %M %h:%i:%s %x'); --'2008 8th August 12:30:00 2008'

    MySQL 日期时间计算函数

    MySQL 为日期增加一个时间间隔:date_add()

    set @dt =now();select date_add(@dt, interval 1 day); --add 1 day

    select date_add(@dt, interval 1 hour); --add 1 hour

    select date_add(@dt, interval 1 minute); --...

    select date_add(@dt, interval 1second);select date_add(@dt, interval 1microsecond);select date_add(@dt, interval 1week);select date_add(@dt, interval 1 month);select date_add(@dt, interval 1quarter);select date_add(@dt, interval 1 year);select date_add(@dt, interval -1 day); --sub 1 day

    MySQL adddate(), addtime()函数,可以用 date_add() 来替代。下面是 date_add() 实现 addtime() 功能示例:

    mysql> set @dt = '2008-08-09 12:12:33';

    mysql>mysql> select date_add(@dt, interval '01:15:30'hour_second);+------------------------------------------------+

    | date_add(@dt, interval '01:15:30' hour_second) |

    +------------------------------------------------+

    | 2008-08-09 13:28:03 |

    +------------------------------------------------+

    mysql> select date_add(@dt, interval '1 01:15:30'day_second);+-------------------------------------------------+

    | date_add(@dt, interval '1 01:15:30' day_second) |

    +-------------------------------------------------+

    | 2008-08-10 13:28:03 |

    +-------------------------------------------------+

    MySQL 为日期减去一个时间间隔:date_sub()

    mysql> select date_sub('1998-01-01 00:00:00', interval '1 1:1:1'day_second);+----------------------------------------------------------------+

    | date_sub('1998-01-01 00:00:00', interval '1 1:1:1' day_second) |

    +----------------------------------------------------------------+

    | 1997-12-30 22:58:59 |

    +----------------------------------------------------------------+

    MySQL date_sub() 日期时间函数 和 date_add() 用法一致,不再赘述。

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

    MySQL datediff(date1,date2):两个日期相减 date1 -date2,返回天数。select datediff('2008-08-08', '2008-08-01'); --7

    select datediff('2008-08-01', '2008-08-08'); ---7

    MySQL timediff(time1,time2):两个日期相减 time1 - time2,返回 time 差值。

    select timediff('2008-08-08 08:08:08', '2008-08-08 00:00:00'); --08:08:08

    select timediff('08:08:08', '00:00:00'); --08:08:08

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

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

    timestamp(date) --date to timestamp

    timestamp(dt,time) --dt + time

    timestampadd(unit,interval,datetime_expr) --timestampdiff(unit,datetime_expr1,datetime_expr2) --

    select timestamp('2008-08-08'); --2008-08-08 00:00:00

    select timestamp('2008-08-08 08:00:00', '01:01:01'); --2008-08-08 09:01:01

    select timestamp('2008-08-08 08:00:00', '10 01:01:01'); --2008-08-18 09:01:01

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

    select date_add('2008-08-08 08:00:00', interval 1 day); --2008-08-09 08:00:00

    MySQL timestampadd() 函数类似于 date_add()。select timestampdiff(year,'2002-05-01','2001-01-01'); ---1

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

    select timestampdiff(hour,'2008-08-08 12:00:00','2008-08-08 00:00:00'); ---12

    select datediff('2008-08-08 12:00:00', '2008-08-01 00:00:00'); --7

    MySQL timestampdiff() 函数就比 datediff() 功能强多了,datediff() 只能计算两个日期(date)之间相差的天数。

    MySQL 时区(timezone)转换函数

    convert_tz(dt,from_tz,to_tz)select convert_tz('2008-08-08 12:00:00', '+08:00', '+00:00'); --2008-08-08 04:00:00

    时区转换也可以通过 date_add, date_sub, timestampadd 来实现。select date_add('2008-08-08 12:00:00', interval -8 hour); --2008-08-08 04:00:00

    select date_sub('2008-08-08 12:00:00', interval 8 hour); --2008-08-08 04:00:00

    select timestampadd(hour, -8, '2008-08-08 12:00:00'); --2008-08-08 04:00:00

    展开全文
  • 年月日时间模块小时分钟秒周%X 年,其中星期日是周第一天,4 位,与 %V 使用%x 年,其中星期一是周第一天,4 位,与 %v 使用%Y 年,4 位%y 年,2 位%b 缩写月名%c 月,数值%M 月名%m 月...
  • DAYOFWEEK(date)返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1998-02-03');-> 3WEEKDAY(date)返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。mysql>...
  • mysql的日期和时间函数大全分享到:来源:未知 浏览: 次 发布时间:2015-12-06 21:43mysql>SELECTsomethingFROMtbl_nameWHERETO_DAYS(NOW())-TO_DAYS(date_col)<=30;DAYOFWEEK(date)返回date星期索引(1=...
  • mysql关于日期的函数

    2018-10-23 14:07:29
    一、mysql中date和String之间转换 ... DATE_FORMAT(date,format) date:需要转换的日期 format:格式化样式  年: %Y 显示四位 : 2015 %y 只显示后两位 :15  月: %M 月份英文...
  • 23 ,34 ) -> 12:23:34 34、YEARWEEK(date):获取日期的年和周 SELECT YEARWEEK(SYSDATE()) SELECT YEARWEEK(‘2015-01-10’) SELECT YEARWEEK(‘2015-01-10’,1) -> 201602 -> 201501 -> 201502 35、WEEKOFYEAR(date...
  • 不支持 :2013/4/21 24:00:00 格式 --2013/4...当用到函数时,日期转换里面格式化参数是不区分大小,例如,Select to_char(t.vdate,'dd'),t.vdate From test_student t; 'yyyy-mm-dd hh24:mi:ss' 和'YYYY-MM-DD...
  • 获得当前mysql的日期select now(); 结果值 为2011-09-30 21:26:... 结果值为2011-09-30date_formate这个函数相当于php中date函数,用法都很相似,不同地方是格式化参数不同,mysql前面有个 %。详细格式化%S, %...
  • C#中关于日期的函数

    2013-04-12 19:44:02
    DateTime dt=DateTime.Now; string mytime=string.Format("{0:yyyy-MM-dd hh:mm:ss}",dt); 2013-4-12 11:47:34 DateTime.Now.ToLongDateString().ToString(): ...102 //一年中第几天
  • 日期时间间隔操作 当前时间减去7分钟时间 select sysdate,sysdate - interval ’7’ MINUTE from dual 当前时间减去7小时时间 select sysdate - interval ’7’ hour from dual 当前时间减去7天时间 select ...
  • yyyy/yy/year:四位表示年份 qq 1-4 刻 mm/month1-12 月 d/dd/day/:1-31 日 月份中第几天 dy 1-366 日    wk/ww 1-54 周    dw 1-7 周几(周日:1 周一:2……周六:7)   hh12:...
  • 日期函数在hive中很常用,甚至有时候要自定义时间函数。...比如我们自定义时间函数DAYOFWEEK(日期),返回当前日期是星期几。 1. UNIX时间戳转日期函数: from_unixtime 语法: from_unixtime(bigint uni...
  • python中关于日期操作的函数
  • 一 MySQL 获得当前日期时间...+―――――――+| now() |+―――――――+| 2008-08-08 22:20:46 |+―――――――+除了 now() 函数能获得当前的日期时间外,MySQL 中还有下面的函数:current_timestamp(),current...
  • import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class DateUtil { public static String dateTimeChange(Date source)...
  • 本文给大家详细介绍了shell下关于时间和日期的函数总结,本文给大家介绍的非常详细,具有参考借鉴价值,感兴趣的朋友跟随脚本之家小编一起看看吧
  • 在Oracle中有很多关于日期的函数,如: 1、add_months()用于从一个日期值增加或减少一些月份 date_value:=add_months(date_value,number_of_months) 例: SQL&g...
  • MATLAB中关于时间日期的函数:addtodate修改时间域calendar某个月的日历clock用时间向量给出当前时间cputimeCPU时间消费date当前日期字符串datenum将日期和时间转为一串时间数字,这个数字表示从公元纪年以来到使用...
  • mysql中关于日期函数以及日期计算sql总汇 /*now()为获取当前系统时间*/ SELECT NOW();/*精确至毫秒值*/ SELECT CURDATE();/*精确至日期值*/ /*获取时间字段中该月最后一天*/ SELECT LAST_DAY(NOW()) SELECT LAST...
  • Oracle 中关于时间和日期的函数,好记性不如烂笔头
  • 日期相减获取月份 结束日期减去开始日起返回月份 getMonthByDataEMinusDataS(startData,endData) { .... return 月; } 例如: 开始日期 2016-03-01 结束日期 2016-11-08 返回月 8 (考虑跨年 2016-03-...
  • python中关于时间和日期函数有time和datatime1.获取当前时间两种方法:import datetime,timenow = time.strftime("%Y-%m-%d %H:%M:%S")print nownow = datetime.datetime.now()print now2.获取上个月最后一天...
  • 设置时区三种方式 修改php配置文件php.ini 中 date.timezone 修改时区,date.timezone = 'PRC'; 脚本中设置 date_default_timezone_set函数动态设置时区,date_default_timezone_set('Asia/Shanghai'); 脚本中...
  • 数据库中表里字段,msgTime 和 createTime 皆为 datetime...sql语句里写字段时候,加上日期函数,并定义它格式 在写查询sql语句时,include上面sql片段,返回值为定义好resultMap。 因为在Dao接口 ...
  • 关于java日期的函数

    2010-03-04 17:09:26
    public static SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd");//这个可以自己定义 /** * yyyy-mm-dd * @param num * @return */ public static String ... Calendar c = Cal...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,255
精华内容 902
关键字:

关于日期的函数