sql查询字符串中最大的数字

例如:苏博青岛房估字(2014)第YPCY0003号,我想要得到‘号’前面的四位数中的最大数字,如何用SQL语句查询出来呢?请教SQL语句

一、字符串为数值,可以直接使用 cast 把列转换成数值型,然后用max()取最大即可:

如:select max(cast(字段 as integer))


二、字符中间包含数字,如 137465、5453728,最大为7,8,可以使用CHARINDEX ( )函数来判断

如:


三、指定位置的数字,如 abc02,a2u07,最大数字为07或7,可以使用right或left截取数字,再使用max()

如:select max(right(字段,2))


当然还有其他方式的数字比较,基本思路相同,先定位数字的位置,或截取数字,在进行比较。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-07-01
create table #tttttttttt (string varchar(100))
insert into #tttttttttt values('苏博青岛房估字(2014)第YPCY0003号')
insert into #tttttttttt values('苏博青岛房估字(2014)第YPCY0004号')
insert into #tttttttttt values('苏博青岛房估字(2014)第YPCY0005号')
select max(substring(string,len(string)-4,4)) from #tttttttttt

本回答被提问者采纳

sql查询字符串中最大的数字
一、字符串为数值,可以直接使用 cast 把列转换成数值型,然后用max()取最大即可:如:select max(cast(字段 as integer))二、字符中间包含数字,如 137465、5453728,最大为7,8,可以使用CHARINDEX ( )函数来判断 如:三、指定位置的数字,如 abc02,a2u07,最大数字为07或7,可以使用right或left...

sql 怎么获取字符串的最大值
where cast(Substring(no,2,6) as int)=select max(cast(Substring(no,2,6) as int)) from 表的名字

SQL怎么取字符串中的数字
比如你的表叫作TALBE1,字段是str1,类型为nvarchar,那么找出有湘政发的最大号加1这样写 select max(convert(int,substring(str1,patindex(N'%[1234567890]%',str1),len(str1)-patindex(N'%[1234567890]%',str1)+1-patindex(N'%[1234567890]%',reverse(str1))+1)))+1 from table1 where...

sql如何获取一个字段中后3位的最大值?
Select Max(Int(Right(日期+序号,3))) as 最大值 from 表;还有你上面002也不是最大的啊,去最大值要主义了,要是数字,不然会紊乱的,自负排列是按ACSII码顺序来排列的,你那日期别说是日个格式的啊,是日期格式的也要转换成字符串才能拼接 ...

SQL语句获取列最长字符串的长度
SELECT max(len(字段名)) as 字符串最大长度 FROM 表名 函数:len(string), 不包含尾随空格

sql 当出现多个最大值 全部显示
那你用max函数根本就是错的,这个函数在这里就是只显示按name字段字母序最大的那个字符串。按你后来的意思,我给你写的是,只要name值出现了至少2次,就查询出来 ,得到的是你要求的结果。select [name] from table1 group by [name] having count([name])>1 ...

sqlserver中max()可以比较哪些数据类型的最大值 通过什么来比较字符型的...
列表中最大的字符串 GREATEST N\/A 列表中最小的字符串 LEAST N\/A 如果为NULL则转换字串 NVL ISNULL 日期函数函数Oracle Microsoft SQL Server 日期相加 (date column +\/- value) orADD_MONTHS DATEADD 两个日期的差 (date column +\/- value) orMONTHS_BETWEEN DATEDIFF 当前日期和时间 SYSDATE GETDATE()...

第八章 SQL聚合函数 MAX
SQL聚合函数 MAX 的核心介绍SQL的MAX函数是用于检索指定列中最大数据值的关键工具,它返回的是表达式的最大值,支持数值型和非数值型字段,适用于SELECT查询或子查询中的多种使用场景。MAX函数的参数类型与返回值相同,对于数字字段,最大值基于数值大小,而对于非数值型字段,依据字符串排序规则确定。空...

SQL查询的最大值怎么赋给变量
sqlconnection con =new sqlconnection(链接字符串);con.open();sqldateAdapter sda=new sqldateAdapter("这里面写SQL语句",con);datatable dt=new datatable();sda.fill(dt);string abc=dt.row[0][0].tostring(); 这里abc就已经取到最大值了,你想显示在哪就把它赋值在哪就...

sql中varchar(50)代表什么?
1. 数据类型定义 在SQL中,`varchar` 是一个用于存储可变长度字符数据的类型。这里的数字“50”指的是该字段能够存储的最大字符数。也就是说,`varchar` 定义了一个能够存储最多50个字符长度的字符串的字段。这个长度是灵活的,意味着如果存储的字符串长度少于50个字符,只会占用实际字符所需的存储...

相似回答