sql server 新手的问题 2 ,肯求回答

xcj314 2007-12-21 04:13:00
表A
name city newname
常州市 江苏省
江苏省苏州市 江苏省
浙江省杭州市 浙江省
宁波市 浙江省

运行的结果中:
newname列的值为

江苏省常州市
江苏省苏州市
浙江省杭州市
浙江省宁波市

意思是,如果name 字段的值中含有city的值,那newname就等于name ,如果没有city的值,就等于city+name
...全文
86 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xcj314 2007-12-21
  • 打赏
  • 举报
回复
非常感谢!已解决!!
dawugui 2007-12-21
  • 打赏
  • 举报
回复
create table tb(name varchar(20) , city varchar(20))
insert into tb values('常州市' , '江苏省')
insert into tb values('江苏省苏州市' , '江苏省')
insert into tb values('浙江省杭州市' , '浙江省')
insert into tb values('宁波市' , '浙江省')
go

select name,city , newname = case when charindex(city , name) > 0 then name else city + name end from tb

drop table tb

/*
name city newname
-------------------- -------------------- ----------------------------------------
常州市 江苏省 江苏省常州市
江苏省苏州市 江苏省 江苏省苏州市
浙江省杭州市 浙江省 浙江省杭州市
宁波市 浙江省 浙江省宁波市

(4 行受影响)

*/
dawugui 2007-12-21
  • 打赏
  • 举报
回复
select name,city , newname = case when charindex(city , name) > 0 then name else city + name end from tb 

34,838

社区成员

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

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