2009-09-11 15 views
20

Come posso ottenere il carattere nella posizione 4 in un campo?SQL Ottieni caratteri nella posizione nel campo

ad es.

contenuto del campo = "ciao"

voglio restituire il valore di posizione 2 = "l"

+1

Si dovrebbe fornire il DBMS si sta utilizzando (mysql/mssql/Oracle/postgresql/sqlite/...) quando si fanno domande relative a sql (meglio aggiungere il tag appropriato). Non fornirlo è come chiedere come formattare un'unità flash senza dire quale sia il tuo sistema operativo. – soulmerge

risposta

29

In SQL Server è possibile utilizzare SUBSTRING

SELECT SUBSTRING('hello', 3, 1) 

attenzione: indice è 1-based.

5

In Oracle, uso SOTTOSTR

sintassi è SUBSTR(<string to parse>,<start position>,(<length>)) - cioè

SELECT SUBSTR('hello',3,1) 

posizione di inizio e durata sono uno, non a base zero. Zero è accettato, ma viene interpretato come 1.

1

seguente query cercherà dall'indice specifico per char e si tradurrà tornare

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