数据库数字串截取问题,求大神解答

select unitname,unitcode from g3_unit where unitcode=substr('1002',1,3);
这个是数据库截取数字串的前三位 获得的unicode是100
我想知道怎么能把后三位截掉,只要前面的数字串 如上例获得1
我的数据库里的unitcode不只是由1002 还有 12345 123456等类似的数据

5个回答

刚刚回答错了。select unitname,unitcode from g3_unit where unitcode=substr(你的字段,1,length(你的字段)-3)

 select unitname,unitcode from g3_unit where unitcode=substr('1002',-1,3);
 select left(unitcode ,CHAR_LENGTH(unitcode )-3) as unitcode , unitname from g3_unit 

前面那个有误

zhang276879619
zhang276879619 大神,你确定对么?我这一直报ORA-00904:"LEFT":invalid identifier ,怎么回事呢?
4 年多之前 回复

select unitname,unitcode from g3_unit where unitcode=substr(你的字段,length()-3,3)

length(你的字段)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问