我想取出某个varchar字段中后n位字符相同的记录,该如何写这个sql呢?在线等待

alias2000 2003-09-01 10:05:10
如题
...全文
44 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
nboys 2003-09-04
  • 打赏
  • 举报
回复
ORACLE:

select * from tableName where SUBSTR(colName,-n)='XXXX'

or

select * from tableName where SUBSTR(colName,-n,n)='XXXX'
nboys 2003-09-02
  • 打赏
  • 举报
回复
try:

select * from tableName where SUBSTR(colName,-1,n)='XXXX'
mjhnet 2003-09-02
  • 打赏
  • 举报
回复
select * from 表
where left(字段名称,len(字段名称)-n)
= left(字段名称,len(字段名称)-n) + replace(right(字段名称,n),right(字段名称,1),'')

不过这是sqlserver通过的,你转换成oracle相应的函数即可。祝你成功
alias2000 2003-09-01
  • 打赏
  • 举报
回复
换成oracle应该怎么写呢?好象不太看得明白
pengdali 2003-09-01
  • 打赏
  • 举报
回复
和count(*)的效果一样。
alias2000 2003-09-01
  • 打赏
  • 举报
回复
sum(1)是什么意思啊?
alias2000 2003-09-01
  • 打赏
  • 举报
回复
不好意思,应该是oracle的
pengdali 2003-09-01
  • 打赏
  • 举报
回复
是这个意思吗?
你举个例吧。
alias2000 2003-09-01
  • 打赏
  • 举报
回复
'xxx'是什么啊?
我就想知道'xxx'应该怎么写啊,n个相同的任意字符
pengdali 2003-09-01
  • 打赏
  • 举报
回复
declare @n int
set @n=4

select * from 表 where right(列,@n) in (select right(列,@n) from 表 group by right(列,@n) having sum(1)>1)
pengdali 2003-09-01
  • 打赏
  • 举报
回复
select * from 表 where right(列,@n)='xxx'

34,874

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧