IF REGEXP_INSTR(REPLACE(FORMULA,'' ''),''\*0\.+[0-9]{2,6}|\*\(\-\0\.+[0-9]{2,6}|\*\-0\.+[0-9]{2,6}|/'')>0
拿到了一段源代码,当中有这么一个语法。请问是什么意思。
拿到了一段源代码,当中有这么一个语法。请问是什么意思。
解决方案 »
- 这样查询数据如何用sql来查询,在线等答案~~~急急急
- 如何不安装客户端就通过应用程序获取数据库数据
- 如何用主键的最大值建立一个sequence的逐渐序列
- linux系统中IMP问题
- 简单SQL语句,在线等待
- 求oracle分页存储过程!
- 这个查询为什么会有值?
- 如何用asp连接数据库呢?
- 如何写一个SQL语句,把一个表的数据输出到另外一个表
- 搭建数仓抽取数据过程中,kettle提示表空间不足,请问怎么解决?中途停止建立的数据文件,offline drop后并手动删除了dbf文件后会有什么影响?
- windows server 2003 重启之后 oracle无法启动 问题
- 数据库前辈来指点一下
1.REPLACE(FORMULA,'1' '2')
这里应该在两对引号间少了一个逗号,不然语法不对。
意思是把FORMULA中的1替换成22.再用REGEXP_INSTR
判断替换后的串是,是否有02,12,22,32...92和06,16,26,36...96之类的组合。
有的话,REGEXP_INSTR返回值大于0;否则小于0就是正则。
[,start
[,occurrence
[,return_option
[,match_option
[,subexp_option
]]]]])
REGEXP_INSTR()是一个正则表达式的函数,表示在x中查找pattern所在的位置,后面中括号中是可选查找参数,
1 start 开始查找的位置 ,默认是1,x 的第一个字符
2 occurrence 返回第几次出现pattern的位置 ,默认也是1
后面三个变量不怎么常用,想了解自己在网上找
replace(x,seach_string,replace_string)用于在x中查找search_string,将其替换成replace_string,返回替代后的新字符串你这代码里面
REGEXP_INSTR(REPLACE(FORMULA,'' ''),''\*0\.+[0-9]{2,6}|\*\(\-\0\.+[0-9]{2,6}|\*\-0\.+[0-9]{2,6}|/'')>0FORMULA是个字符串变量,''\*0\.+[0-9]{2,6}|\*\(\-\0\.+[0-9]{2,6}|\*\-0\.+[0-9]{2,6}|/''这是个要匹配正则表达式pattern