2009-09-11 22 views
20

Làm cách nào để có được ký tự ở vị trí 4 trong một trường?SQL Nhận char tại vị trí trong trường

ví dụ:

nội dung trường = "hello"

Tôi muốn trả về giá trị của vị trí 2 = "l"

+1

Bạn nên cung cấp DBMS bạn đang sử dụng (mysql/MSSQL/oracle/postgresql/sqlite/...) khi hỏi các câu hỏi liên quan đến sql (tốt nhất để thêm thẻ thích hợp). Không cung cấp nó giống như yêu cầu làm thế nào để định dạng một ổ đĩa flash mà không nói cho hệ điều hành của bạn là gì. – soulmerge

Trả lời

29

Trong SQL Server, bạn có thể sử dụng SUBSTRING

SELECT SUBSTRING('hello', 3, 1) 

Chăm sóc: chỉ số Dựa trên 1.

5

Trong Oracle, sử dụng SUBSTR

Cú pháp SUBSTR(<string to parse>,<start position>,(<length>)) - ví dụ:

SELECT SUBSTR('hello',3,1) 

Bắt đầu vị trí và thời gian là một, không zero-based. Zero được chấp nhận, nhưng sẽ được hiểu là 1.

1

sau Query sẽ tìm kiếm từ chỉ số cụ thể cho char và sẽ trả về kết quả

select * from tbPatientMaster 
where SUBSTRING (fname,CHARINDEX ('.',fname,0)+1,LEN (fname)) like 'a%' 
Các vấn đề liên quan