mdsk.net
当前位置:首页 >> sql语句suBstr使用 >>

sql语句suBstr使用

substring(字符串,开始位置,截取长度),substring('abcd',1,2)=bc

substr函数在oracle中使用表示被截取的字符串或字符串表达式,和instr函数不同,instr函数是要截取的字符串在源字符串中的“位置”,substr函数是截取字符串的“内容”.substr(string,start,length)string - 指定的要截取的字符串start - 必需,规

select substr('a123456',instr('a123456','a')+1,len('a123456')-instr('a123456','a')) from dual instr 返回1, 所以给它+1 , 从第2位开始截取到总长度-'a'这个字符串的位置, 就是 6 , 所以最终会是 select substr('a123456',2,6) from dual 这么写能明白吗?

select * from W where substr(工号,1,4)='2008' and substr(工号,5,1)='2'

什么数据库?如果是oracle的话 select substr('123.456.789',-3,3) from dual; --789 select substr('123.456.789',-3,2) from dual; --78 负数,反向截取 sql server right('123.456.789',3) 如果确定是取后三位的话

select * from 职工记录表 where substr(工号,1,4)='2008' and substr(工号,5,1)='2'

SUBSTR(string,start,count)取子字符串,从start开始,取count个SQL> select substr(13088888888,3,8) from dual;SUBSTR(--------0888888812.REPLACE(string,s1,s2)

SQL语句是不允许"字段.(substr***)"这种格式的的,我建议你修改解析的代码来消除substr造成的错误

SELECT '总计' AS 总计,0 AS GSZY,0 AS LSG,0 AS ZZRY,0 AS FPZE,0 AS JHWJE,(SUM( DECODE( SUBSTR(HPBH,1,6),:TYear01 ,NVL(XJ,0),0))+SUM( DECODE( SUBSTR(HPBH,1,6),:TYear02 ,NVL(XJ,0),0))+SUM( DECODE( SUBSTR(HPBH,1,6),:TYear03 ,NVL(XJ,0),0))) AS "01"FROM TABLE_BGYPLYBWHERE HPBH Like :TYear

使用SQL的substr函数即可.zhidao1. 该方式格式如下:2. substr( string, start_position, [ length ] );string:源字符串专;start_position:提取的位置,字符串中第一个位置始终为1;[ length ]:提取的字符数,如果省略,substr将返回整个字符串;3. 函数功能:截取函数,可以实现提取字符串中指定的字符数;4. 针对本例举例说明:select * from 表名属 where substr([D],1,2)=“10” 语句功能说明:从指定表中查询D字段第1、2个字符为“10的记录”.

网站首页 | 网站地图
All rights reserved Powered by www.mdsk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com