Mysql去除字符串中的特殊字符及varchar转int
场景描述
Mysql中有varchar类型字段,并且为:123,456 形式,需要对其进行排序,并根据条件筛选出前5条
模拟表数据
表名:table_a
t_id(int)
t_year(int)
t_value(varchar)
1
2019
123,456
Mysql去除字符串中的特殊符号
使用到的函数:REPLACE(str,from_str,to_str)
用法
- str:需要操作的字段
- from_str:字段中的特殊符号
- to_str:需要替换成什么样
这里把t_value值为:123,456中的”,” 去掉,也就是替换成空。 SQL:
SELECT REPLACE(t_value,",","") FROM table_a; |
Mysql中varchar转int
使用到的函数: CAST(Filed AS UNSIGNED INTEGER)
用法
- Filed:为需要转换的字段名
这里需要先把t_value中的”,”去掉然后再转成int SQL:
SELECT CAST(REPLACE(t_value,",","") AS UNSIGNED INTEGER) FROM table_a; |
总体实现
需求:对table_a表中的t_year=2019的数据按照t_value字段从大到小排序并且只去前5条 SQL:
SELECT * FROM table_a WHERE t_year = 2019 ORDER BY CAST(REPLACE(t_value,",","") AS UNSIGNED INTEGER) DESC LIMIT 5; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 IT者!