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