使用sql语句,去掉字符串里面的多个括号中的字符串

问题描述

使用sql语句,去掉字符串里面的多个括号中的字符串

比如说,源串是 adgdg[ewrerw]fdafda[2323][244]fdfd,
希望执行语句后得到的是
adgdgfdafdafdfd,即去包含[]以及内部的字符串,这个SQL该怎么写呢?

解决方案

SELECT REGEXP_REPLACE('adgdg[ewrerw]fdafda[2323][244]fdfd','([(.*?)])', '' ) FROM DUAL; 发现这样写可以实现这个目的。

解决方案二:

执行sql语句前用其他语言的正则替换掉ubb标签就好了。。sql不太适合做这个事

解决方案三:

如果是PLSQL函数呢?我能想到的是自定义一个PLSQL函数,但感觉这样的效率会比较低。

解决方案四:

SELECT REGEXP_REPLACE('adgdg[ewrerw]fdafda[2323][][244]fdfd','[[.*?]]','',1,0,'i') FROM DUAL;为什么这样写得不到想要的效果呢,
求达人解决。

解决方案五:

SELECT REGEXP_REPLACE('adgdg[ewrerw]fdafda[2323][][244]fdfd','[(.+?)]','',1,0,'i') FROM DUAL;

解决方案六:

SELECT REGEXP_REPLACE('adgdg[ewrerw]fdafda[2323][244]fdfd','([(.*?)])', '' ) FROM DUAL;
这个才对的。

解决方案七:

为什么中间的符号显示不出来呢?
SELECT REGEXP_REPLACE('adgdg[ewrerw]fdafda[2323][244]fdfd','([(.*?)])', '' ) FROM DUAL;


解决方案八:

好像都不对啊。。。。我试了上述几个答案都不对啊

解决方案九:

Java SE7新特性之switch语句中使用字符串

时间: 2025-01-27 01:05:01

使用sql语句,去掉字符串里面的多个括号中的字符串的相关文章

SQL语句去掉重复记录,获取重复记录_MsSql

SQL语句去掉重复记录,获取重复记录  --查询一个表中有效去掉重复的记录,UserID为自增长主键,RoleID为重复字段 SELECT MIN(UserID) AS UserID, RoleID FROM tmpTable GROUP BY RoleID SELECT RoleID FROM tmpTable GROUP BY RoleID HAVING (COUNT(*) > 1) SELECT DISTINCT * FROM tmpTable sql语句查询 sql server acc

sql语句,判断一个值是否在一个表中代码怎么写

问题描述 sql语句,判断一个值是否在一个表中代码怎么写 判断一个值是否在一个表中代码怎么写,代码加上些注释,怕看不懂 解决方案 oracle语法 select * from A where not exists(select 1 from B where instr(',' || B.namelist || ',',a.name)>0; sql语法 select * from A where not exists(select 1 from B where charindex(a.name,'

SQL语句练习实例之四 找出促销活动中销售额最高的职员_MsSql

复制代码 代码如下: ---找出促销活动中销售额最高的职员 ---你刚在一家服装销售公司中找到了一份工作,此时经理要求你根据数据库中的两张表得到促销活动销售额最高的销售员 ---1.一张是促销活动表 ---2.一张是销售客列表 create table Promotions ( activity nvarchar(30), sdate datetime, edate datetime ) insert Promotions select '五一促销活动','2011-5-1','2011-5-7

这句sql语句怎么写,才能在查询分析器中运行

问题描述 updateAcc_UserssetPassword='convert(varbinary(256),'123456')'whereNickNe='admin'上面是把加了密的二进制密码,改成我已知的,但写法有错,不知道怎么写了服务器:消息260,级别16,状态1,行1不允许从数据类型varchar到数据类型binary的隐性转换(表'DAOff.dbo.Accounts_Users',列'Password').请使用CONVERT函数来运行此查询. 解决方案 解决方案二:Passwo

Oracle中解析SQL语句的过程

为了将用户写的SQL文本转化为Oracle认识的且可执行的语句,这个过程就叫做解析过程.解析分为硬解析和软解析.一条SQL语句在第一次被执行时必须进行硬解析. 当客户端发出一条SQL语句(也可以是一个存储过程或者一个匿名PL/SQL块)进入shared pool时(注意,我们从前面已经知道,Oracle对这些SQL不叫做SQL语句,而是称为游标.因为Oracle在处理SQL时,需要很多相关的辅助信息,这些辅助信息与SQL语句一起组成了游标), Oracle首先将SQL文本转化为ASCII值,然后

sqlserver利用存储过程去除重复行的sql语句

还是先上代码吧 ,可以先看 SQL语句去掉重复记录,获取重复记录 复制代码 代码如下: ALTER procedure [dbo].[PROC_ITEMMASTER_GETUNIQUE] @PAGEINDEX INT,@uid int,@itemnumber varchar(50) AS begin tran --开始事务 drop table [ItemMaster].[dbo].[testim] --删除表 --把不重复记录转存到testim中 select * into [ItemMast

防止SQL语句注入攻击总结

-----解决方案-------------------------------------------------------- 过滤URL中的一些特殊字符,动态SQL语句使用PrepareStatement.. ------解决方案-------------------------------------------------------- 注入的方式就是在查询条件里加入SQL字符串. 可以检查一下提交的查询参数里是否包含SQL,但通常这样无益. 最好的办法是不要用拼接SQL字符串,可以用

sqlserver利用存储过程去除重复行的sql语句_MsSql

还是先上代码吧 ,可以先看 SQL语句去掉重复记录,获取重复记录 复制代码 代码如下: ALTER procedure [dbo].[PROC_ITEMMASTER_GETUNIQUE] @PAGEINDEX INT,@uid int,@itemnumber varchar(50) AS begin tran --开始事务 drop table [ItemMaster].[dbo].[testim] --删除表 --把不重复记录转存到testim中 select * into [ItemMast

执行一条sql语句update多条记录实现思路_MsSql

通常情况下,我们会使用以下SQL语句来更新字段值: 复制代码 代码如下: UPDATE mytable SET myfield='value' WHERE other_field='other_value'; 但是,如果你想更新多行数据,并且每行记录的各字段值都是各不一样,你会怎么办呢?举个例子,我的博客有三个分类目录(免费资源.教程指南.橱窗展示),这些分类目录的信息存储在数据库表categories中,并且设置了显示顺序字段 display_order,每个分类占一行记录.如果我想重新编排这