sql截取查询出的字符串|SUBSTRing|CHARINDEX|reverse|left|right函数
来源:互联网 发布:.co.jp 日本域名 编辑:程序博客网 时间:2024/05/15 01:49
这篇文章是处理查询出的字段我只想要一串字符中的某几个字,或者一个公式中的数字
关键字
charindex:用法;返回某个字符在字符串中的位置
declare @str varchar(100);set @str = 'wangya';select charindex('a',@str)
返回值为 2
left:用法;格式left('字符串',截取多少位)
declare @str varchar(100);set @str = 'wangya';select left(@str,charindex('a',@str))
返回值为wa
right:用法;格式right('字符串',右往左截多少位)
declare @str varchar(100);set @str = 'wangya';select right(@str,2)
返回值为 ya 是从右侧数两位
reverse:用法;格式reverse('字符串')
declare @str varchar(100);set @str = 'wangya';select reverse(@str);
返回值为 aygnaw 作用反转字符顺序
有这四个方法就可以搞点事情
我有一个表查出的公式是这个样子(下图)
我只想要 "-h" 前的一个数字
那么我就分步骤,我先截取-h以前的数据
select left(CalFormula,case when CHARINDEX('-h',CalFormula)>0 then CHARINDEX('-h',CalFormula)-1 else 0 end)from dbo.PM_StoreFormuladbo.PM_StoreFormula是我的表名,CalFormula 是表中的字段,case when是用来判断 '-h' 是否在这个公式中有,因为可能有的公式没有,你要是全有可以不写,因为没有找到 '-h' 的话会返回0 0-1会报错;返回下图
接下来要取数字了,然而他有可能会有好几个括号,那我只要最后一个括号就好了然而charindex无法取到最后一个,那怎么办?把它反转一下,就可以取到最后一个括号了
select right(left(CalFormula,case when CHARINDEX('-h',CalFormula)>0 then CHARINDEX('-h',CalFormula)-1 else 0 end),--right括号里的left是根据-left截取后的字符串case when CHARINDEX('(',reverse(left(CalFormula,case when CHARINDEX('-h',CalFormula)>0 then CHARINDEX('-h',CalFormula)-1 else 0 end)))>0 then--此条语句是判断反转后的字符串是否存在(CHARINDEX('(',reverse(left(CalFormula,case when CHARINDEX('-h',CalFormula)>0 then CHARINDEX('-h',CalFormula)-1 else 0 end)))-1--存在返回是第几位else 0 end--不存在返回0) from dbo.PM_StoreFormula返回结果(下图)你可以作为参考,但不一定适用你的程序,改改就好
阅读全文
0 0
- sql截取查询出的字符串|SUBSTRing|CHARINDEX|reverse|left|right函数
- Sql server的left, right, charindex, patindex 函数应用
- access截取字符串,Left 函数,Right 函数
- sql 保留部分字符串left right substring
- SQL函数 left()、charindex()的使用
- SQL 标量函数----->字符串函数 之三 取子串函数 left() 、RIGHT()、SUBSTRING()
- mysql 的截取字符串 left right
- Sql字符串截取函数SUBSTRING
- sql字符串截取函数SUBSTRING
- SQL之操作字符串函数CONCAT、SUBSTR、SUBSTRING、SUBSTRING_INDEX、LEFT、RIGHT
- C语言实现字符串截取函数left、mid和right
- C_实现字符串截取函数left、mid和right
- SQL中left()函数和charindex()函数的使用
- VB 汉字字符串的截取LEN、LEFT、RIGHT
- SQL 中的基本函数:charindex(),convert(),LEFT()
- Excel字符串截取(left&right&mid)
- SAP HANA LEFT/RIGHT字符串截取
- Sql的字符串截取 substring()用法
- zabbix-3.0.4安装部署
- Android观察者模式的理解
- oninput、onchange与onpropertychange事件的用法和区别
- UVA Problem 10003 Cutting Sticks (切割木棍)
- org.hibernate.hql.ast.QuerySyntaxException: Unable to locate appropriate constructor on class xxx
- sql截取查询出的字符串|SUBSTRing|CHARINDEX|reverse|left|right函数
- vs code1.14 python配置anaconda(numpy包等)
- error while loading shared libraries: xxx.so.0:cannot open shared object file:的错误解决
- ubuntu下jdk安装
- html5跨域访问接口或者一般处理程序
- 【腾讯TMQ】老总让做后台接口监控,我却开发了一个App
- Fibonacci数列(string大整数)
- CodeForces 831B-Keyboard Layouts
- JAVA中的枚举类型