select 最大值=max(right(字段名,1)) from table
解决方案 »
- sql效率
- 树形的表怎么写啊
- 如何建立主外键联系
- 触发器删除问题
- 我声明一个int类型得参数@y,想让@y加1(即@y+1)作为参数传给函数fer(@y+1),为什么这样有错误那,该怎么改??谢谢!!
- 我架了FTP,但是我现在的文件有很多,但是文件就是有点乱了,现在我想用数据库来管理,但是我现在不知道怎么搞!谁会的,希望大家给我点
- 想传一串UID List到SQL的 Function里去,但是不知道怎么搞 ---〉急
- 关边查询?
- 用ADO编写的客户端,如果服务器和客户端都是Win2000,连接数据库时好像没有权限,必须先有访问该机器的权限才可以连接数据库(比如先通过
- 使用sql2000出现一下问题是什么原因?
- 如何看SQL SERVER2000的最大并发用户数?
- 救命啊,100分在线等
返回表达式的最大值。语法
MAX ( [ ALL | DISTINCT ] expression )参数
ALL对所有的值进行聚合函数运算。ALL 是默认设置。DISTINCT指定每个唯一值都被考虑。DISTINCT 对于 MAX 无意义,使用它仅仅是为了符合 SQL-92 兼容性。expression常量、列名、函数以及算术运算符、按位运算符和字符串运算符的任意组合。MAX 可用于数字列、字符列和 datetime 列,但不能用于 bit 列。不允许使用聚合函数和子查询。返回类型
返回类型与 expression 相同。重要 当使用 CUBE 或 ROLLUP 时,不支持区分聚合,例如 AVG(DISTINCT column_name)、COUNT(DISTINCT column_name)、MAX(DISTINCT column_name)、MIN(DISTINCT column_name) 和 SUM(DISTINCT column_name)。如果使用,则 Microsoft® SQL Server™ 将返回错误信息并取消查询。
注释
MAX 忽略任何空值。对于字符列,MAX 查找排序序列的最大值。
返回字符串中从右边开始指定个数的 integer_expression 字符。语法
RIGHT ( character_expression , integer_expression ) 参数
character_expression由字符数据组成的表达式。character_expression 可以是常量、变量,也可以是字符或二进制数据的列。integer_expression是起始位置,用正整数表示。如果 integer_expression 是负数,则返回一个错误。返回类型
varcharcharacter_expression 必须为可隐性转换为 varchar 的数据类型。否则,使用 CAST 显式转换 character_expression。注释
兼容级别可能影响返回值。有关更多信息,请参见 sp_dbcmptlevel。示例
下例返回每个作者名字中最右边的五个字符。USE pubs
GO
SELECT RIGHT(au_fname, 5)
FROM authors
ORDER BY au_fname
GO下面是结果集:------------------
raham
Akiko
lbert
Ann
Anne
Burt
rlene
heryl
Dean
Dirk
ather
Innes
hnson
Livia
jorie
ander
chael
ichel
gstar
inald
heryl
earns
ylvia
(23 row(s) affected)
select 最大值=max(right(c,charindex('_',reverse(c),1)-1)) from t
select 最大值=max(cast(right(c,charindex('_',reverse(c),1)-1) as int)) from t注,一楼的答案没有考虑10以上的数。
declare @t table(aa varchar(10))
insert into @t
select aa='1_1'
union all select '1_2'
union all select '1_1_1'
union all select '1_12_2'
union all select '1_2_1'--查询
select max(aa) from @t where len(aa)=(select max(len(aa)) from @t)/*--结果
----------
1_12_2(所影响的行数为 1 行)
--*/