查询返回特定字符位于字符串第4个位置的所有结果

时间:2016-02-15 16:12:11

标签: sql string position substring teradata

我有一个包含6位数ID号的表(例如'AB1E11'),我需要在Teradata SQL中构建一个查询,返回所有结果,其中'E'位于字符串的第四个位置。几年后我没有理由做这样的事情,所以我非常生疏。我知道如何过滤结果,以便'E'包含在字符串中的任何位置(使用SELECT * WHERE PLANID LIKE'%E%'),但我不知道如何过滤结果,以便只有那些' E'在第4位出现。任何人都可以帮我解决这个问题吗?我尝试了几次,但找不到答案。

谢谢。

2 个答案:

答案 0 :(得分:3)

只需将LIKE_通配符一起使用:

where planid like '____E%'

注意:这是4个下划线,代表任何单个字符。

答案 1 :(得分:0)

SELECT planid WHERE CHARINDEX('E', planid) = 4;

返回的起始位置是从1开始的,而不是从0开始。