2009-09-11 30 views
20

Karakteri bir alanda 4. pozisyonda nasıl alabilirim?SQL Alanında pozisyon alın.

örn.

alan içeriği = "Merhaba" Eğer SUBSTRING

SELECT SUBSTRING('hello', 3, 1) 

özen kullanabilirsiniz

I konumunda 2 = "l" SQL Server

+1

Sen kullandığınız DBMS sağlamalıdır (mysql/mssql/oracle/postgresql/sqlite/...) sql ile ilgili soruları sorarken (uygun etiketi eklemek için en iyisi). Verilmemesi, işletim sisteminizin ne olduğunu söylemeden bir flash sürücünün nasıl biçimlendirileceğini sormak gibidir. – soulmerge

cevap

29

değerini döndürmek istiyorum: endeksidir 1 tabanlı. Oracle

5

, kullanım SUBSTR

sözdizimi SUBSTR(<string to parse>,<start position>,(<length>)) olduğu - yani

SELECT SUBSTR('hello',3,1) 

Başlangıç ​​konumu ve uzunluğu tek, sıfır dayanmayan. Sıfır kabul edilir, ancak 1.

1

Sorgu Char için spesifik dizinden arayacaktır ve sonuç dönecektir aşağıdaki olarak yorumlanacaktır

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