求一个SQL语句(有点困难)(15分)

  • 主题发起人 主题发起人 xaxaxa
  • 开始时间 开始时间
X

xaxaxa

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库中有两个字段 a,b 内容如下
a b
aaa-1 111
aaa-2 222
aaa-3 333
..... ....
我想把查询出来的结果 按下面的格式显示出来
-1/111
-2/222
-3/333
。。。不知道这能不能做到?
 
select right(a,2)+'/'+b as r from 表1
 
老大,字段a的格式是不是固定的或者存在一定的规律,否则是不好处理的,如果按照现有的格式,可以采用以下方法:
1、如果“aaa”部分长度固定:Right(a,len(a)-3)+'/'+b
2、如果“aaa”部分长度不固定,但是均以“-”分隔:Rrght(a,len(a)-CHARINDEX('-',a)+1)+'/'+b
 
谢谢楼上两位,aaa长度不固定,但是后面都是以-1,-2,-3。。。。结束的
 
select substring(a,len('aaa')+1,len(a)-len(aaa))+'/'+b as ab from table1
这样写是不是好点,aaa-后边可能是aaa-888888.
 
我现在发现了新问题,就是我的字段A中可能有好几个‘—’,怎么只把最后一个后面的取出来
如:a
aa-aaa-1
想得到的结果是-1/111应该怎么处理?
 
select RIGHT(a, CHARINDEX('-', REVERSE(a))) + '/' + b from 表
 
select a=substring (a,4,2)+'/'+b from 表
 
多人接受答案了。
 
后退
顶部