Luo_Ra 2022-05-20 15:21 采纳率: 100%
浏览 226
已结题

什么情况下unix_timestamp的结果会为0呢?试了很多种情况,对比还是找不到规律和共同点

select    unix_timestamp('11:12:00'), -- 0 
             unix_timestamp('11:12:10'), -- 1323446400
             unix_timestamp('11:00:10'), -- 0
             unix_timestamp('00:12:00'), -- 0
             unix_timestamp('00:12:10'), -- 976377600
             unix_timestamp('00:00:10'), -- 0
             unix_timestamp('11:12:43'), -- 0.000000
             unix_timestamp('11:12:10'), -- 1323446400
             unix_timestamp('2022-05-19 11:12:43'), -- 1652929963
             unix_timestamp('2022-05-19 11:12:00'); -- 1652929920

  • 写回答

1条回答 默认 最新

  • 於黾 2022-05-20 15:34
    关注

    unix_timestamp函数,返回当前时间减去'1970-01-01 00:00:00'的秒数
    如果传参,那么参数必须是一个日期
    你所有返回值不为0的,其实都被认作了年月日
    比如11:12:10,其实被认作了11年12月10日
    而只要月日之一出现了0,就是个非法日期,返回的就会是0
    年可以是0,应该被当做了2000年
    -=-=
    所以,归根结底,是你不了解这个函数到底干什么用的,参数是什么意思
    要求参数是日期,而你传入一个时间,这就很无厘头

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月4日
  • 已采纳回答 5月27日
  • 创建了问题 5月20日