dkfr.net
当前位置:首页 >> sql中截取字符串中的数字,根据条件排序的问题,请... >>

sql中截取字符串中的数字,根据条件排序的问题,请...

select * from 表名 where code like '%[2013]%' order by cast(substring(code,charindex(']',code)+1,len(code)-charindex(']',code)) as int) desc 这样试试

select substring(colName,charindex('(',colName)+1,4) 把1992拿出来,对比也就用这个计算方法对比吧,如 where convert(int,substring(colName,charindex('(',colName)+1,4))

如果提取字符串中的数字,需要自定义函数,以下函数包含截取字符串中的数字、字母、汉字等。 create function fn_myget(@str as varchar(max),@category as varchar(10)='Chinese',@start as int=1,@end as int=100000)returns varchar(max)asbe...

Create Table T(id int,St Varchar(100)) Insert Into T Values(1,'魂牵梦萦复方丹参 a草叶魂牵梦萦')Insert Into T Values(2,'魂牵梦萦复方丹参 草叶a魂牵梦萦')Insert Into T Values(3,'魂牵梦萦复方丹参 草叶b魂牵梦萦')Insert Into T Values...

假如表为test,name字段存放班级,代码如下: select id,name,substring_index(name, '班级',1) as num from test ORDER BY num asc

你这个sort列肯定是非数值型的,所以他排序的时候会按照字符串排序方式;1开头的字符串排在前面,排完了,然后才开始排2开头的字符串,3、4、5往后面推; 如果你想要按照数字排序,先要把字符串转换成数字格式; 如果是sqlserver数据库的话, or...

sql中在where字句里截取字符方法如下: 1、如果是sqlserver:where left(p.end_time,4) = '2012'。 2、如果是Oracle:where substr(p.end_time,0,4) = '2012'。 举例: 1、oracle: 'where substr(字段名,1,2)='''123'''' 2、sqlserver: 'where s...

--建表 create table # ( t nvarchar(20) ) --插入数据 insert into #(t) select '1' union all select '2' union all select '2a' union all select '10' union all select '11' union all select '12' union all select '15' union all select...

select left(列,CHARINDEX('.', 列)),列 from 表LEFT (, ) 返回character_expression 左起 integer_expression 个字符。RIGHT一样的使用方法

SELECT * FROM t3 ORDER BY CAST (LEFT(name,patindex('%[a-z,A-Z]%',right(name,len(name)-patindex('%[0-9]%',name)))) AS INT) ,SUBSTRING(NAME,patindex('%[a-z,A-Z]%',right(name,len(name)-patindex('%[0-9]%',name)+1)),1 ) ,CAST(RIGHT(...

网站首页 | 网站地图
All rights reserved Powered by www.dkfr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com