A字段去除指定分隔符后和B字段比较,若不同则列出

不素之霸 2023-03-19 03:51:35

已知字段A和字段B存在对应关系,且A字段存在与B不符合的分隔符。要列出表中A字段去除分隔符之后和B字段不同的全部记录。查询代码怎么写?

比如:A字段为W\O\Q   对应的B字段为WOQ (也就是把A字段的\去掉)和B字段比较,如果A字段去除分隔符与B字段不同,则列出。

我用repalce不行,比如我写了 select * from table1 where repalce(A,‘\’,‘’)<> B  但是报错,无法返回结果。

就是不知道该用哪个函数?请老师指点。

 

...全文
104 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
炎同学要努力 2023-06-09
  • 打赏
  • 举报
回复

sql server的版本可能不支持,高级函数

二月十六 版主 2023-03-21
  • 打赏
  • 举报
回复

--测试数据
if not object_id(N'Tempdb..#T') is null
    drop table #T
Go
Create table #T([A] nvarchar(25),[B] nvarchar(23))
Insert #T
select N'W\O\Q',N'WOQ' union all
select N'AA',N'BB'
Go
--测试数据结束
 select * from #T where REPLACE(A,'\','')<>B

img

吉普赛的歌 版主 2023-03-21
  • 打赏
  • 举报
回复

无图无真相,请贴原始的sql和截图出来

雨夹雪 2023-03-20
  • 打赏
  • 举报
回复

select * from table1 WHERE replace(A,'',')<>''

你replace单词写错了呀,还有括号,单引号,逗号这些要半角的

不素之霸 2023-03-20
  • 举报
回复
@雨夹雪 您好,语句是现写的,不是复制过来的。在SQL查询中肯定没错,全角半角也肯定没错,是半角。但是执行肯定有错。replace似乎不能用于接在select后面,同样的条件,我用update set就能执行,但是想select看下结果对不对就是不行。

34,623

社区成员

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

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