我正在尝试获取 SQL 中某个字段的最大值。该字段接受数字和非数字字符。如果字段具有值 A、B、C,则结果应为 C。但是,当字段具有 A、B、C、1、2 等值时,结果应为 2。 有人可以帮助我如何实现这一目标吗?
谢谢
最佳答案
这有效
SELECT TOP 1 IDValue
FROM
(
SELECT 'A' as IDValue, ISNUMERIC('A') tag
UNION
SELECT 'C', ISNUMERIC('C')
UNION
SELECT 'B', ISNUMERIC('B')
UNION
SELECT '1',ISNUMERIC('1')
UNION
SELECT '2',ISNUMERIC('2')
)tmp
ORDER BY tag DESC,IDValue DESC
输出
2
ISNUMERIC()如果表达式为数字,则返回 1,否则返回 0。您可以在 ORDER BY
中使用它来获取最大值。
关于sql - 根据数据类型获取SQL中字段的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40104542/