背景: 项目需要将用户信息展示在页面上, 但是用户信息的其中一个标签值是长整形, 但是浏览器对long型超出的部分转换为0, 导致数据展示不准确,
所以需要后端将数据类型做下处理
我想到的处理方案有2种, 一种是: 查询mysql时, 进行类型转换, 另外一种是: 数据查询出后, 利用pandas进行指定列的类型转换,
由于其中含有日期类型的字段, 利用pandas转换后 日期类型会变化, 还需要再次转换, 所以就选择了第一个方案.
所以这篇文章就简单记录下mysql数据类型转换的知识点
利用函数 cast , 规则: cast(列名 as 转换后的类型)
1. 将 int 类型转换为 str : cast(列名 as char), eg: select cast(id as CHAR) user_id from users;
2. 将 str 类型转换为 int : cast(列名 as char), eg: select cast(id as SIGNED) user_id from users;
另外 convert 函数也可以进行类型转换, 规则: convert(列名, 转换后的类型)
可用的类型有:
二进制: BINARY
字符串: 可带参数 CHAR(), CHAR
日期: DATE
时间: TIME
日期时间类型: DATETIME
浮点数: DECIMAL
整数: SIGNED
无符号整数: UNSIGNED