把一段地址的省市县分割出来

qq_27407067 2016-10-15 03:07:10
要求是这样的:
我们数据库里面有只有一个字段存储地址,现在要求写一个函数,或用系统自带的函数把省(区、市)市县乡分开来,并返回。
苦于对数据库的函数不了解,不知道怎么来做,谢谢大家!
...全文
1575 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
道素 2016-10-19
  • 打赏
  • 举报
回复

SELECT 1 WHERE ' '=''
返回1 
看到问题所在了吧,虽然你写isnull处理为一个空格,但是SQL实际还是trim掉了,变成了'' 所以substring中的length参数变为了-1
qq_27407067 2016-10-19
  • 打赏
  • 举报
回复
比如说:
广东省 改成 广东
深圳市 改成 深圳
后来在指导下,一个replace 就解决了问题。
但是:
请问这样写为什么报错:
select isnull((substring((isnull(t.vct35,' ')),1,len(isnull(t.vct35,' '))-1)),' ') as ddd
,isnull((substring((isnull(t.vct36,'--')),1,len(isnull(t.vct36,'--'))-1)),'--')
from vct1 t
如果大家有知道原因的,请告知,谢谢!
zhiyuku2 2016-10-17
  • 打赏
  • 举报
回复


做好上下关系
mingqing6364 2016-10-15
  • 打赏
  • 举报
回复
建议先做一个字典表,然后按字典表匹配
卖水果的net 2016-10-15
  • 打赏
  • 举报
回复
源数据是样子的,给出一些示例,多贴一些,看看有什么规律 ;

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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