mysql 怎么转换varchar

文 / @WordPress主题

MySQL中的VARCHAR类型是可以存储字符串的变长数据类型,但是有时候我们需要将字符串类型的数据转换为数值类型,例如在进行数据筛选时需要比较数值大小。下面介绍三种将MySQL中VARCHAR类型转换为数值类型的方法。

方法一:使用CAST函数

使用CAST函数将VARCHAR类型转换为UNSIGNED类型(无符号整数类型):

SELECT CAST(字段名 AS UNSIGNED) FROM 表名;

其中,CAST函数的语法规则是:

Cast(字段名 as 转换的类型)

转换的类型可以为:

CHAR[(N)]:字符型
DATE:日期型
DATETIME:日期和时间型
DECIMAL:浮点型
SIGNED:整型
TIME:时间型

对于数字开头的字符串而言,转换结果是截取字符串的前面的数字,但是对于开头不能截取出数字的字符串,则转换结果为0。

方法二:使用-(-字段名)函数

使用-(-字段名)函数将VARCHAR类型转换为数值类型:

SELECT -(-字段名) FROM 表名;

这种转换方式简单粗暴,适用范围较广。

方法三:使用字段名直接+0

使用字段名直接+0将VARCHAR类型转换为数值类型:

SELECT 字段名 + 0 FROM 表名;

但是使用这种方法要注意,仅仅适用于字段内容全是VARCHAR类型的数字,如果内容包含中文或其他非数字字符,则会报错。一般情况下推荐使用第一种或第二种方法。

以上就是将MySQL中VARCHAR类型转换为数值类型的三种方法。在使用数据筛选模块时,将字符串中数字提取出来转换为数值类型,就可以进行比较和排序了。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。