假设我在员工表中有以下数据:(仅此而已)
ID FirstName LastName x
-------------------------------------------------------------------
20 John Mackenzie <A>te</A><b>wq</b><a>342</a><d>rt21</d>
21 Ted Green <A>re</A><b>es</b><1>t34w</1><4>65z</4>
22 Marcy Nate <A>ds</A><b>tf</b><3>fv 34</3><6>65aa</6>
我需要在X列中搜索并获得&lt;&gt;中的最高数字这些括号
什么样的SELECT statement
可以得到我,例如x列中的&lt; 6&gt;中的数字6?
答案 0 :(得分:0)
这种类型的查询通常用于查找模式,我认为<6>
位于左起第9个位置。
请注意,如果模式发生变化,则以下查询将无效。
SELECT A.* FROM YOURTABLE A INNER JOIN
(SELECT TOP 1 ID,Firstname,Lastname,SUBSTRING(X,LEN(X)-9,1) AS [ORDER]
FROM YOURTABLE
WHERE ISNUMERIC(SUBSTRING(X,LEN(X)-9,1))=1
ORDER BY SUBSTRING(X,LEN(X)-9,1))B
ON
A.ID=B.ID AND
A.FIRSTNAME=B.FIRSTNAME AND
A.LASTNAME=B.LASTNAME