我有一个表,其中有一列数据类型为“备忘录”。
该字段包含“X003”、“X0022”、“X002”、“X0030”、“X0031”、“X004”等值。简而言之,第一个“X00”部分是通用的,其余部分是整数。
我想通过 sql 查询选择第二部分中包含最大整数的行。sql应该怎么写?
如果它只是一个整数,我会在 sql 中使用“MAX()”来获取最大值。但它与此不同。我应该怎么办?请帮我。
问问题
3764 次
3 回答
5
SELECT max(val(mid([col],3))) FROM thetable;
即选择第三个字符后的最大值,转换为数字(如果不可转换,则为 0)。
于 2013-04-12T10:58:26.087 回答
0
How should i write the sql?
如果您正在寻找 sql 查询
SELECT
MAX(CONVERT(INT,CASE WHEN PatIndex('%[a-z]%',REVERSE(memo)) > 0
THEN RIGHT(memo,PatIndex('%[a-z]%',REVERSE(memo))-1)
ELSE NULL END)) AS maxmemo
FROM Table1
于 2013-04-12T11:08:26.653 回答
0
您可以在查询中执行简单MID()
的操作以获取最后两个字符,然后将它们转换为整数,甚至MAX()
直接在块上执行。
于 2013-04-12T10:58:18.880 回答