sql字符位置
⑴ sql 查找字段中某字符的位置
1、创建测试表,
create table test_student(id number, remark varchar2(20));
⑵ SQL 查询指定字符串的位置
可用charindex函数。
如:查找字符串中“你好”的位置
执行:
selectcharindex('你好','2432你好dsfasdf')
结果:
结论:“你好”中的“你”的起始位置是5,所以这样就能判断出指定字符的位置了。
⑶ sql中取指定字符串出现位置的方法
什么数据库?如果是oracle的话
select substr('123.456.789',-3,3) from al; --789
select substr('123.456.789',-3,2) from al; --78
负数,反向截取
sql server
right('123.456.789',3)
如果确定是取后三位的话
⑷ sql在特定位置添加字符串
update A set name = CONCAT(name,'whatever')
⑸ sql怎么查询某个字符在字符串中的位置
select CHARINDEX('查询字符',查询字段), * from 表
如
⑹ sql 怎样定位一个字符所在的位置
可以通过INSTR方法来进行查询:
sql:select INSTR('abcdefg ','c') from al;
输出结果:3。
解释:以上sql就是查询c字符在“abcdefg”中的位置。
⑺ SQL如何按指定字符在字符串中的位置来排序
CreateTableT
(
idint,
StVarchar(100)
)
InsertIntoTValues(1,'魂牵梦萦复方丹参a草叶魂牵梦萦')
InsertIntoTValues(2,'魂牵梦萦复方丹参草叶a魂牵梦萦')
InsertIntoTValues(3,'魂牵梦萦复方丹参草叶b魂牵梦萦')
InsertIntoTValues(4,'魂牵梦萦复方丹参b草叶魂牵梦萦')
InsertIntoTValues(5,'魂牵梦萦复方丹参草叶魂牵abc梦萦')
InsertIntoTValues(6,'魂牵梦萦复方丹参草叶什么都没有魂牵梦萦')
--先按是否包含a/b排序(包含的在前面,不包含的在后面)
--再按a/b在字符串中出现的位置排序
Select*FromT
OrderbyCaseWhenPATINDEX('%[ab]%',St)>0Then0Else1End,PATINDEX('%[ab]%',St)
⑻ SQL怎样替换固定位置上的字符
selectT1,left(T1,2)+'N'+right(T1,len(T1)-3)from表名
这就是把第三位替换成N查询出来显示而已,并没有修改数据
⑼ 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