mysql实现将字符串转化成int类型
作者:早已离开mafg
这篇文章主要介绍了mysql实现将字符串转化成int类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
mysql将字符串转化成int类型
可以使用Convert(字段名, 类型)方法来进行转换。
语法:
SELECT CONVERT(filedName, UNSIGNED INTEGER) ;
示例:
-- 字符串转日期类型 SELECT CONVERT("2017-08-29", DATE); -- 字符串转int类型 SELECT CONVERT("29", UNSIGNED);
常用转换类型
类型名 | 描述 |
DATE | 日期类型 |
DATETIME | 日期时间类型 |
TIME | 时间类型 |
CHAR | 字符类型 |
SIGNED | 有符号整型(包含正负数) |
UNSIGNED | 无符号整型(正数) |
BINARY | 二进制格式 |
mysql将字符串转换为数字类型并进行排序
在MySQL中,可以使用CAST或CONVERT函数将字符串转换为数字类型,并进行排序。
下面是一个示例查询,演示如何将字符串转换为数字类型并进行排序:
CAST
:强制转换,在其它数据库中比较通用,当小数转化为数值,并保留原始表达式中的小数数值时,仍然需要使用CAST
SELECT 列名 FROM 表名 ORDER BY CAST(列名 AS signed);
在这个查询中,将"列名"替换为你要排序的字符串类型列名,"表名"替换为实际表名。
使用CAST函数,将字符串转换为有符号整数类型(signed)。如果字符串表示的是无符号整数,则可以使用unsigned。在ORDER BY子句中,使用CAST函数将字符串转换为数字类型,以便按照数字大小进行排序。
另一种选项是使用CONVERT函数,它与CAST函数的作用类似:
CONVERT
:显示转换,CONVERT是专对SQL Server使用的,使日期与时间值,小数之间转换具有更宽的灵活性
SELECT 列名 FROM 表名 ORDER BY CONVERT(列名, signed);
可用的类型:
- 二进制,同带binary前缀的效果 : BINARY
- 字符型,可带参数 : CHAR()
- 日期 : DATE
- 时间: TIME
- 日期时间型 : DATETIME
- 浮点数 : DECIMAL
- 整数 : SIGNED
- 无符号整数 : UNSIGNED,如果没有正负符号,就用这个
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。