如何选择在字段的确切位置具有特定值的记录?

0 sql t-sql sql-server sql-server-2005

如何在字段DESC的位置37中选择值为"OE"的记录?

我可以使用这个声明找到所需的记录 -

select DESC
from   TABLEA
where  DESC like '%OE%'
Run Code Online (Sandbox Code Playgroud)

但它也将返回记录,其中OE位于DESC内的其他位置.这会产生不正确的结果.

我正在使用MS SQL 2005.

小智 7

select [DESC]
from   TABLEA
where  substring([desc], 37, 2) = 'OE'
Run Code Online (Sandbox Code Playgroud)

SUBSTRING函数(MSDN参考).

SUBSTRING ( value_expression , start_expression , length_expression )
Run Code Online (Sandbox Code Playgroud)

如果要在字符串中的某个位置测试两个字符,则可以使用该SUBSTRING()功能.