boy*_*att 7 regex sql sql-server-2008-r2
我在SQL Server中有一个字段,包含部分,乡镇和范围信息,每个字段用短划线分隔; 例如:18-84-7.我希望将每个单元,部分作为一个字段,乡镇作为一个字段和范围作为一个字段分开,如:18 84 7.
字符数有所不同.这并不总是2个字符或每单位1个字符,所以我认为最好的办法是由破折号分开,但我不知道如何做到这一点.有没有办法在SQL Server中完成此操作?
谢谢!
可能有几种不同的方法,有些方法比其他方法更丑.这是一个:
(注意:dat =字符串)
select *,
substring(dat,1,charindex('-',dat)-1) as Section,
substring(dat,charindex('-',dat)+1,charindex('-',dat)-1) as TownShip,
reverse(substring(reverse(dat),0,charindex('-',reverse(dat)))) as myRange
from myTable
Run Code Online (Sandbox Code Playgroud)