名字好难起_
2017-05-16 03:40
采纳率: 18.2%
浏览 5.7k
已采纳

int类型的字段怎么转换成日期格式

mysql中我查询的时候怎么将3个int类型字段的数据转换成时间日期格式,
比如我的字段是2017 5 16 怎么转换成2017-05-16这种格式的

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • 战在春秋 2017-05-16 07:17
    已采纳

    代码如下:

     SELECT STR_TO_DATE( 
             CONCAT( day, ',', month, ',', year ),
             '%d,%m,%Y' 
           ) as result
    FROM testtable
    

    下图是测试数据,假设表名为testtable,字段名分别为day,month,year,均为int类型

    图片说明

    下图是测试结果

    图片说明

    点赞 打赏 评论
  • 名字好难起_ 2017-05-16 03:46

    在在线等 还请各位帮帮忙

    点赞 打赏 评论
  • I_WANT_U 2017-05-16 03:47

    package tests;

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;

    public class IntToDate {

    public static void main(String[] args) throws ParseException {
        int dateInt = 19140214;
        SimpleDateFormat sf = new SimpleDateFormat("yyyyMMdd");
        Date date = sf.parse(dateInt+"");
        System.out.println(date);
    }
    

    }

    点赞 打赏 评论
  • wlq199101 2017-05-16 03:49

    转成什么语言的日期,如:转mysql date select str_to_date('20170516', '%Y%m%d') date;

    点赞 打赏 评论
  • jiny0704 2017-05-16 03:52

    直接拼起来不就好了嘛

    点赞 打赏 评论
  • miaoch 2017-05-16 03:58

    select CONCAT(2017,'-',5,'-',16) xx from dual

    点赞 打赏 评论
  • 夕阳雨晴 2017-05-16 04:00
    点赞 打赏 评论
  • 使用varchar就好!

    点赞 打赏 评论
  • show_code 2017-05-16 06:35

    把年月日查出来后先按照格式YYYY--MM-DD这个格式拼好,如果年月日小于10的话要在前面补0,然后你把这个字符窜可以直接传给前端,前端可以直接转
    成时间类型的
    顺便说一句,你数据库就不该这么设计这么存的,要么存时间类型的字符窜要么存时间戳,你这搞的啥都不是,业务大了效率会很底下的

    点赞 打赏 评论

相关推荐 更多相似问题