发布网友 发布时间:2022-04-23 16:58
共7个回答
懂视网 时间:2022-04-08 00:33
在操作mysql时,经常需要将字符转换成数字,这一步虽然简单,但不常用的话也很容易忘记,现将在网上找到的方法记录如下:
1.将字符的数字转成数字,比如‘0‘转成0可以直接用加法来实现
例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决
select * from pony order by (d+0)
2.在进行ifnull处理时,比如 ifnull(a/b,‘0‘) 这样就会导致 a/b成了字符串,因此需要把‘0‘改成0,即可解决此困扰
3.比较数字和varchar时,比如a=11,b="11ddddd";
则 select 11="11ddddd"相等
若绝对比较可以这样:
select binary 11 =binary "11ddddd"
4.字符集转换 : CONVERT(xxx USING gb2312)
类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型),类型必须用下列的类型:
可用的类型:
二进制,同带binary前缀的效果 : BINARY
字符型,可带参数 : CHAR()
日期 : DATE
时间: TIME
日期时间型 : DATETIME
浮点数 : DECIMAL
整数 : SIGNED
无符号整数 : UNSIGNED
http://blog.csdn.net/dengsilinming/article/details/8481417
mysql将字符转换成数字
标签:
热心网友 时间:2022-04-07 21:41
方法一:SELECT CAST('123' AS SIGNED);
方法二:SELECT CONVERT('123',SIGNED);
方法三:SELECT '123'+0;
热心网友 时间:2022-04-07 22:59
mysql 类型会自动转换。
where `id`='123' 如果 id 字段是 int 类型。MYSQL会自动把 123 转换为整型。
热心网友 时间:2022-04-08 00:33
如果是字符串常量 :'123'+0
字符串变量也是一样:x+0
总之:让字符加上一个数字就会自动变成数字
热心网友 时间:2022-04-08 02:25
cast('123' as signed integer)
使用mysql特有函数 123是原来的字符串,as 后面是要转化的类型
热心网友 时间:2022-04-08 04:33
select convert(int,'123')
热心网友 时间:2022-04-08 06:57
SELECT '123'+0