原文地址:SQL 判断字段中指定字符出现的次数 原理:将指定字符转换为空,原长度减去转换后的长度就是指定字符的次数. 在做数据处理时遇到一个SQL操作的问题就是有一列关键词字段,字段中包含各种乱七八糟的字符,其中有一个双引号“ 是关键词中不需要的,所以需要去掉,而一般只有带两个”的才需要去除,所以首先得先找到含有双引号的且双引号出现两次的值,然后删除.这里提取指定符串在 字段中的出现次数SQL为: select * from google_keyword where len
首先我们建立一张带有逗号分隔的字符串. CREATE TABLE test(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),pname VARCHAR(20) NOT NULL,pnum VARCHAR(50) NOT NULL); 然后插入带有逗号分隔的测试数据 INSERT INTO test(pname,pnum) VALUES('产品1','1,2,4'); INSERT INTO test(pname,pnum) VALUES('产
declare @str varchar(100) set @str='是否严格控制' --要搜索的字符串 declare @s varchar(8000) declare tb cursor local for select s='if exists(select 1 from ['+b.name+'] where ['+a.name+'] like ''%'+@str+ '%'
--将text替换成你要查找的内容SELECT name, *FROM sysobjects o, syscomments sWHERE o.id = s.id AND text LIKE '%text%';-- and o.xtype = 'P' --存储过程 --将text替换成你要查找的内容SELECT ROUTINE_NAME, ROUTINE_DEFINITION, *FROM INFORMATION_SCHEMA.ROUTINESWHERE ROUTINE_DEFINITION LI
取 a 字段里有字符x后面的数 right(a, charindex('x',reverse(a))-1)) reverse(字段) 这个函数是把字段倒过来并转换成nvarchar类型 取 a 的后3位 right(a,3) 取字段 a中字符串 x 到 y 之间的字符串假设(x=2,y=7) substring(a,CHARINDEX('2',a),CHARINDEX('7',a)-CHARINDEX('2',a)+1) 如果a=G000207858 那么得出来的结果就是207
SELECT [Fgoodsid] ,[Fgoodsname] ,[Fcinema] ,[Fprice] FROM [tenpaytest].[dbo].[goodsinfo]where Fgoodsname like '%,2,%' or Fgoodsname like '2,%' or Fgoodsname like '%,2'
对于select的in嵌套子查询[DQL]: select en_name from goods where uid in( select uid from goods where goods_type_uid = '612ae65210a24ad88fc2faa6bd87c876' ) 而对于update等[DML]语句: 需要对子查询做一层临时表的包裹 UPDATE goods SET en_name = REPLACE (en_name, 'brand ', '') WHERE uid I
首先我们建立一张带有逗号分隔的字符串. CREATE TABLE test(id int(6) NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),pname VARCHAR(20) NOT NULL,pnum VARCHAR(50) NOT NULL); 然后插入带有逗号分隔的测试数据 INSERT INTO test(pname,pnum) VALUES('产品1','1,2,4'); INSERT INTO test(pname,pnum) VALUES('产