-1

假设我在Employee表中有以下数据:(仅此而已)

  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 列中搜索并在 <> 这些括号中获得最高数字

什么样的SELECT statement可以让我,例如,像 <6> 中的数字 6,在 x 列中?

4

1 回答 1

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
于 2013-09-16T12:28:25.607 回答