您如何 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 关系数据库。
我找不到执行以下简单查询的方法:
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 关系数据库。