添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接


注: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类型。

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

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);

操作模式,分为 r(read)、w(write)、a(append) r模式:仅读取r+ 写入的位置是 当前光标所在位置,会直接改写当前位置的值 r+ 可以续写么? 可以,但是必须把光标挪到最后 r 没有创建文件的能力w模式:写入,且每次是新写入# w+ 拥有写入权限,可以创建文件 # w 所有的write操作是先写在内存中,只有结束的时候才会执行进去 # w+ 和