sql server 数据库中某张表(Person)的数据信息是:
ID | Address |
1 | 平山花园-4单元-12幢-203 |
2 | 香山花园-3单元-22幢-304 |
现在有需求是,将地址信息显示形式改成4列 ,即小区名,单元号,楼房号,房间号 分成4列进行显示
ID | 小区名 | 单元号 | 楼房号 | 房间号 |
1 | 平山花园 | 4单元 | 12幢 | 203 |
2 | 香山花园 | 3单元 | 22幢 | 304 |
介绍两种方案:
第一种:最简单的办法就是调用sql server中自带函数PARSENAME来进行拆分,但是注意:最多只能拆分成4个字段。
针对这个例子的实现:parsename默认是根据'.'进行拆分的,所以首先要做的是将字段中的‘-’替换成'.'
SELECT Address, PARSENAME(REPLACE([Address],'-','.'),4) as 小区名