导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

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

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

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

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

意思是,如果name 字段的值中含有city的值,那newname就等于name ,如果没有city的值,就等于city+name
...全文
33 点赞 收藏 3
写回复
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 
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告