您如何 return 列(文本字段)的最大值?

How do you return the max of a column (Text field)?

我找不到执行以下简单查询的方法:

SELECT max(@SomeCol) FROM test_table;

除此之外,我几乎可以做所有其他事情,max 并不 return 我所期望的。

您可以通过将 dB query/table 加载到 .Net DataTable 并使用它的计算方法来解决此问题:

DataTable.Compute("AggregateFunction(DataColumn)", "condition|Nothing|null")

问题中没有关于@SomeCol 的数据类型的足够信息。假设它适用于数字列,而您的问题只是文本或字符串列,那么顺序将采用 ascii 整理顺序。

例如,如果 table 具有以下值,则返回的最大值将为 "Sridevi"。

Name
====
Michael
Indra
Sridevi
Roger

select max(Name) from test_table;

MAX(Name)
=========
Sridevi

如果你想按整理顺序取货,请使用以下方法:

select SomeCol from test_table order by lpad( SomeCol, 2 );

您可以使用任意数量的字符来整理序列顺序,而不是 2 个。此示例适用于 Oracle 关系数据库。