sql定位字符串
⑴ sql语句中查找某字段中含有某字符串的语句怎么写
select filename from oa_file where filename not like '%[!-¥]%'
或者这个:
select filename from oa_file where filename not like '%[!-?]%'
出现的问题就是问号和问好也是不一样的,比如说英文标点半角的问号是“?”,英文标点全角的问号是“?”但是中文半角问号是“?”中文全角的问号是“?”
这些都是不一样的,你搜出来的都是带有英文半角问号的文件。
(1)sql定位字符串扩展阅读:
SQL中的字段“包含”与“包含于”字符串的写法
1、查询表中某字段值“包含”某字符串的所有记录的方法
假如表中有一个name字段,查询name包含“张三”的所有记录,可以这样写sql:
Stirng strsql="SELECT * FROM 表名 WHERE name LIKE ’%"+"张三"+"%’";
2、查询某字段值“包含于”某个字符串的所有记录的方法
如果查询表中name字段包含于字符串“张三是个好学生”的所有记录,可以这样写sql:
String strsql="SELECT * FROM 表名 WHERE INSTR(’张三是个好学生’,name)>0";
即可查询,记录中的name字段值中包括:张、三、是、个、好、学、生、张三、......等所有记录。
注:以上sql字符串中请将全角符号改为半角符号。
⑵ sql怎样定位一个字符所在的位置
常用的字符串函数,其作用可分为四大类:串接字符、截取字符、转换字符、其他作用的字符函数。
串接,就是把单独的字符串组合为一个。如把人的姓和名串接在一起形成一个完整的姓名字符串。
截取,是指从字符串里提取出一部分字符,形成子串。可以分为截取字符、提取字符的位置。
转换,是指把一个字符串中的内容或形式变换成另一个内容或形式。分为内容转换和形式转换。
其他作用的字符函数:以上三种作用之外的其他字符函数。
下面详细介绍。
串接函数
可以通过+或者-,实现串接操作。在不同的数据库管理系统中,使用的串接符号不同。
在SQL SERVER中的代码为:SELECT ‘JOHN’+ ‘SON’
在MySQL中的代码为:SELECT CONCAT(‘JHON’,‘SON’)
截取函数
1、SUBSTR(COLUMN NAME,STARING POSITION,LENGTH)
COLUMN NAME:字段名称
STARING POSITION:起始位置,即从第几个字符开始截取
LENGTH:长度,即截取多少个字符的长度
select emp_id,substr(emp_id,1,3) from employee
从雇员表中检索出雇员编号,雇员姓名两个字段。其中雇员姓名可通过从编号ID的前三个字符截取得到。
2、TRIM()、LTRIM()、RTRIM(),剪除字符串中的字符。
SQL 中的 TRIM 函数是用来移除掉一个字串中的字头或字尾。最常见的用途是移除字首或字尾的空白。这个函数在不同的资料库中有不同的名称:
MySQL: TRIM( ), RTRIM( ), LTRIM( )
Oracle: RTRIM( ), LTRIM( )
SQL Server: RTRIM( ), LTRIM( )
各种 trim 函数的语法如下:
TRIM ( [ [位置] [要移除的字串] FROM ] 字串): [位置] 的可能值为 LEADING (起头), TRAILING (结尾), or BOTH (起头及结尾)。 这个函数将把 [要移除的字串] 从字串的起头、结尾,或是起头及结尾移除。如果我们没有列出 [要移除的字串] 是什么的话,那空白就会被移除。
LTRIM(字串): 将所有字串起头的空白移除。
RTRIM(字串): 将所有字串结尾的空白移除
⑶ MS SQL Server有没有查找字符串位置的函数
charindex
(字符串表达式1,字符串表达式2[,整数表达式])
select charindex('ab','BCabTabD')返回3
select charindex('ab','BCabTabD',4)返回6
在字符串2中查找字符串1,如果存在返回第一个匹配的位置,如果不存在返回0。如果字符串1和字符串2中有一个是null则返回null。
可以指定在字符串2中查找的起始位置。
⑷ sql中取指定字符串出现位置的方法
可用charindex函数。
如:查找字符串中“你好”的位置
执行:
select charindex('你好','2432你好dsfasdf')结果:
结论:“你好”中的“你”的起始位置是5,所以这样就能判断出指定字符的位置了。
⑸ sql 查找字段中某字符的位置
1、创建测试表,
create table test_student(id number, remark varchar2(20));
⑹ sql如何获取字符串中的指定字符
1、创建测试表,
create table test_int(value varchar2(50));
⑺ sql 怎样定位一个字符所在的位置
可以通过INSTR方法来进行查询:
sql:select INSTR('abcdefg ','c') from al;
输出结果:3。
解释:以上sql就是查询c字符在“abcdefg”中的位置。
⑻ sql怎么查询某个字符在字符串中的位置
select CHARINDEX('查询字符',查询字段), * from 表
如
⑼ sql 查找字符串位置(从倒数算起)
declare @i int,@j int,@str varchar(20)
set @str='abc-def-h'
set @i=1
set @j=len(@str)
declare @num int
while @i<@j
begin
set @num=charindex('-',@str,@i)
set @i=@i+1
set @i=@num+1
select @num
end