mysql比较某两个字段前几位的是否相等

1、先来看一下表结构和数据:

2、sql语句:取id和id2的前两位不相等的行,以及运行结果

SELECT * FROM test111 WHERE CAST(SUBSTR(id,1,2) AS UNSIGNED) <>  CAST(SUBSTR(id2,1,2) AS UNSIGNED) ;

3、函数分析:

SUBSTR函数

 substr( string, start_position, [ length ] )       substr('目标字符串',开始位置,长度) 
如:
     substr('This is a test', 6, 2)     would return 'is'
     substr('This is a test', 6)     would return 'is a test'
     substr('TechOnTheNet', -3, 3)     would return 'Net'
     substr('TechOnTheNet', -6, 3)     would return 'The'select substr('Thisisatest', -4, 2) value from dual 

注意:这里的开始位置是从1开始的,开始位置可以为负数,但不能为0。

CAST函数

cast跟convert的用法如下
用CAST函数或者CONVERT

CAST(expr   AS   type),   CONVERT(expr,type)   ,   CONVERT(expr   USING   transcoding_name)  

CAST()   和CONVERT()   函数可用来获取一个类型的值,并产生另一个类型的值。  

这个类型   可以是以下值其中的   一个:    
BINARY[(N)]  
CHAR[(N)]  
DATE  
DATETIME  
DECIMAL  
SIGNED   [INTEGER]  
TIME  
UNSIGNED   [INTEGER]

注意:使用的int这个类型是错误的,需要使用SIGNED   [INTEGER]  或者是UNSIGNED   [INTEGER]都是可以的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值