找出含有某个字符的最大id
时间:2011-12-23
来源:互联网
数据库中有字段
id pathcode
1 null
2 /1
3 /1/2
4 /1/2
5 /1/2
6 /1/2/4
7 /1/2/4
8 /1/2/4/5
找出数据库中含有2个 "/" 最大id,此数据中最大id=5 ,请问Sql语句怎么写?
id pathcode
1 null
2 /1
3 /1/2
4 /1/2
5 /1/2
6 /1/2/4
7 /1/2/4
8 /1/2/4/5
找出数据库中含有2个 "/" 最大id,此数据中最大id=5 ,请问Sql语句怎么写?
作者: jiajiaren 发布时间: 2011-12-23
SQL code
create table tb (id int, pathcode varchar(50) ) insert into tb values(1,'') insert into tb values(2,'/1') insert into tb values(3,'/1/2') insert into tb values(4,'/1/2') insert into tb values(5,'/1/2') insert into tb values(6,'/1/2/4') insert into tb values(7,'7 /1/2/4') insert into tb values(8,'/1/2/4/5') select max(id) from tb where len(pathcode) - len(replace(pathcode,'/','')) =2 ----------- 5 (1 行受影响)
作者: szstephenzhou 发布时间: 2011-12-23
select max(id) id from tb where len(pathcode) - len(replace(pathcode,'/','')) = 2
作者: dawugui 发布时间: 2011-12-23
SQL code
--楼主是要查询id的最大,还是pathcode拆分后的最大数字 --下面写的这个是取pathcode拆分后的最大数字 if object_id('tb') is not null drop table tb go create table tb ( id int identity(1,1), pathcode varchar(10) ) go insert into tb(pathcode) select null union all select '/1' union all select '/1/2' union all select '/1/2' union all select '/1/2' union all select '/1/2/4' union all select '/1/2/4' union all select '/1/2/4/5' go select max(cast(reverse(substring(reverse(pathcode),1,charindex('/',reverse(pathcode))-1)) as int)) from tb where len(pathcode)-len(replace(pathcode,'/',''))>1 /* ----------- 5 (1 行受影响) */
作者: pengxuan 发布时间: 2011-12-23
select max(id) as id from tb where len(pathcode)-len(replace(pathcode,'/','')) = 2
作者: fredrickhu 发布时间: 2011-12-23
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28