parsename函数用于linked servers中的object name, owner name, database name, and server name.
如下:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
select parsename('server1.dbname1.dbo.table',1) as 'Object Name',
parsename('server1.dbname1.dbo.table',2) as 'Schema Name',
parsename('server1.dbname1.dbo.table',3) as 'Database Name',
parsename('server1.dbname1.dbo.table',4) as 'Server Name'--结果
Object Name Schema Name Database Name Server name
--------------------------------------------------------
table dbo dbname1 server1
(1 row(s) affected)
其中
1 = Object name
2 = Schema name
3 = Database name
4 = Server name
所以我们可以使用这个函数来做简单的分割应用。如下分割ip地址。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
select parsename('192.168.1.25',4) as section1,
parsename('192.168.1.25',3) as section2,
parsename('192.168.1.25',2) as section3,
parsename('192.168.1.25',1) as section4
--结果
section1 section2 section3 section4
-----------------------------------------
192 168 1 25
注意第一段是从4开始取的,因为这个函数对应的顺序是4是Server name,3是Database name,2是Schema name,1是Object name
通过这样的方法可以做很多简单的分割应用,当然只能用于.号的字符串且只能是少于4段。