注: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类型。
问题:外键关联查询时报错
原因是: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);