2009-09-11 14 views
20

Jak mogę uzyskać znak na pozycji 4 w polu?SQL Uzyskaj znak na pozycji w polu

np.

zawartości pól = "hello"

chcę wrócić wartość pozycji 2 = "l"

+1

należy podać DBMS używasz (MySQL/MSSQL/Oracle/postgresql/sqlite/...) podczas zadawania pytań związanych z sql (najlepiej dodać odpowiedni tag). Nie dostarczenie go jest jak pytanie, jak sformatować dysk flash bez informowania, co jest twój system operacyjny. – soulmerge

Odpowiedz

29

W SQL Server można użyć SUBSTRING

SELECT SUBSTRING('hello', 3, 1) 

Zadbaj: indeks jest 1-based.

5

W Oracle zastosowanie SUBSTR

składnia jest SUBSTR(<string to parse>,<start position>,(<length>)) - tj

SELECT SUBSTR('hello',3,1) 

położenie początkowe i długość są jedno-, a nie od zera. Zero jest akceptowane, ale będą interpretowane jako 1.

1

następujące zapytanie wyszuka od określonego indeksu dla char i zwróci wynik

select * from tbPatientMaster 
where SUBSTRING (fname,CHARINDEX ('.',fname,0)+1,LEN (fname)) like 'a%'