首先让我说这是针对我不管理的数据库视图,因此数据就是它。它有一列职位名称,其中还包括职位级别(例如软件工程师 2、设计师 C、空中交通管制员 E-1 等...)我需要获得不同的职位。所有软件工程师(级别 1 到 6)都应该返回一个值。职位名称中可以包含一个或多个单词。级别可以有 1 到 3 个字符。我试过这个来达到水平
SELECT
jobtitle,
REVERSE(LEFT(REVERSE(jobtitle), CHARINDEX(' ', REVERSE(jobtitle)) - 1)) AS level
获得级别,但我无法弄清楚如何将其从职位名称中剥离,然后为这些职位获得不同的价值。
如果 level 始终是一个词,您可以使用以下内容去除最后一个词,以便您只获得职位:
SELECT SUBSTRING(jobtitle, 1, LEN(jobtitle) - CHARINDEX(' ', REVERSE(jobtitle)))
或者如果您更喜欢使用 LEFT 而不是 SUBSTRING:
SELECT LEFT(jobtitle,LEN(jobtitle)-CHARINDEX(' ', REVERSE(jobtitle),0)+1)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句