mysql int转String 及 将String转为Double类型

ゝ一世哀愁。 2022-10-12 12:54 542阅读 0赞

注:cast()和CONVERT()函数可用来获取一个类型的值,并产生另一个类型的值

一、int转string

1、cast() 函数

select cast (111 as char );

2、convert() 函数

select convert(111,char)

3、concat() 函数

select concat(111, '' );

这里给个实际项目中的案例:

项目中将之间的一个表重构,id用雪花id,数据库字段类型为bigint。但是有关该表的外键都没改,还是之前的varchar类型。

问题:外键关联查询时报错

  1. Data truncation: Truncated incorrect DOUBLE value: 'xxxxxxxxxx'

原因是:mysql把bigint类型转到varchar时,精度丢失了

注意:此时用 concat(111, '' ),将bigint转称varchar也会报错,原因是,用concat()函数转是把数字和字符串连在一起

而用 cast (111 as char )、convert(111,char) 就不会报错

二、String转double

1、select cast(“111.11” as decimal(10,2));

2、select convert(“111.11”,decimal(10,2);

发表评论

表情:
评论列表 (有 0 条评论,542人围观)

还没有评论,来说两句吧...

相关阅读