【发布时间】:2015-07-28 14:11:41
【问题描述】:
在 SQL Server 2008 数据库表中,我有一个包含数字和字母的 char 字段。即:
TST
842
UUT
124
674
XTM
763
我需要在该字段中找到最大的整数。所以在上面的例子中我会返回“842”。
我知道如何测试该值是否为数字 (ISNUMERIC()function),但我不知道如何使用该测试返回最大整数值。
【问题讨论】:
-
首先不要使用
ISNUMERIC——使用TRY_CONVERT或TRY_PARSE函数——blogs.msdn.com/b/manub22/archive/2013/12/24/… -
谢谢,gotqn,但正如您从下面的多个答案中看到的那样,
ISNUMERIC()工作得很好。 (至少在我的特殊情况下。总有例外!) -
@gotqn:由于 OP 要求使用 SQL Server 2008。SQL Server 2008 中是否提供
TRY_CONVERT或TRY_PARSE? -
是否有可能拥有
.?如果是这样,isnumeric可能不会给你正确的答案,如果你真的需要整数而不仅仅是最高数字,TRY_Convert可能会截断. -
@Arulkumar 不,
try_convert是在 2012 年推出的 afaik。
标签: sql-server tsql max numeric isnumeric