weiyiming007

一般有这几种转换:

image


一、数值型与字符型的转化

###
数值型转为字符型:
    65> \'65\'               select cast(65 as char);
    65> \'A\'                select char(65);
    65.23 --> \'65.23\'        select cast(65.23 as char(10));


###
字符型转为数值型:
    \'65.23\'> 65            select cast(\'65.23\' as signed int);
    \'65.23\' --> 65.23        select cast(\'65.23\' as decimal(5,2));
    \'A\'> 65                select ASCII(\'A\');


二、数值型与日期和时间型的转化

###
数值型转为日期和时间型:
        20190903 --> 日期2019-09-03                                select cast(20190903 as date);

        815 --> 时间00:08:15                                       select cast(815 as time);

        0200815002356 --> 时间戳2020-08-15 00:23:56                select cast(20200815002356 as datetime);
    
        ##把Unix时间戳转为日期
        1628434346325 --> 2021-08-08 22:52:26                     select from_unixtime(1628434346325/1000, \'%Y-%m-%d %H:%i:%s\');
    

###
日期时间型转为数值型:
    如:2019-09-03> 20190903                        select cast(current_date() as signed);

    如:14:04:10> 140410                            select cast(current_time() as signed);

    如:2019-09-03 14:04:10 --> 20190903140410        select cast(now() as signed);

    如:如:2019-09-03> 2019                         select year(current_date());

    如:14:04:10> 10                                select second(current_time);

    ##把日期类型转为Unix时间戳
    select unix_timestamp(\'2019-09-03 11:47:30\');


三、字符型与日期和时间型的转化

###
字符型转换为日期时间型:
    ‘20190903--> 日期2019-09-03              select cast(\'20190903\' as date);

    \'2019-09-03\' --> 日期2019-09-03            select cast(\'2019-09-03\' as date);
2109/09/03--> 日期2019-09-03            select cast(\'2019/09/03\' as date);
2019#09#03--> 日期2019-09-03            select cast(\'2019#09#03\' as date);

    \'00:08:15\' --> 时间00:08:15                select cast(\'00:08:15\' as time);

    \'20210808225226\' --> 时间戳2020-08-15 00:08:15         select CAST(\'20210808225226\' AS DATETIME);
    
    \'2021-08-08 22:52:26\' --> 时间戳2021-08-08 22:52:26    select cast(\'2021-08-08 22:52:26\' as datetime);
    


###
日期时间型转为字符型:
    如:日期2019-09-03> \'20190903\'                select DATE_FORMAT(CURRENT_DATE(),\'%Y%m%d\')

    如:日期2019-09-03 --> \'2019-09-03\'             select CAST(CURRENT_DATE() AS DATE);
                                                  select DATE_FORMAT(CURRENT_DATE(),\'%Y-%m-%d\');

    如:日期2020-08-15\' --> \'2020-08\'              select DATE_FORMAT(CURRENT_DATE(),\'%Y-%m\');

    时间00:08:15 --> \'00:08:15\'                    select DATE_FORMAT(NOW(),\'%H:%i:%s\');
                                                  select CAST(CURRENT_TIME() AS CHAR);

    时间戳2020-08-15 00:08:15 –> \'20210808225226\'          select DATE_FORMAT(NOW(),\'%Y%m%d%H%i%s\')

    时间戳2021-08-08 22:52:26 --> \'2021-08-08 22:52:26\'    select CAST(NOW() AS CHAR);
                                                          select DATE_FORMAT(NOW(),\'%Y-%m-%d %H:%i:%s\');

    日期2020-08-15 --> Thursday                select DAYNAME(CURRENT_DATE());

    日期2020-08-15 --> August                select MONTHNAME(CURRENT_DATE());


image

分类:

技术点:

相关文章:

  • 2022-02-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-18
  • 2021-12-05
  • 2021-10-17
猜你喜欢
  • 2022-12-23
  • 2021-12-05
  • 2021-12-05
  • 2021-12-05
  • 2021-12-05
  • 2021-12-05
  • 2021-12-05
相关资源
相似解决方案