parsename

--一个字符串abc_dcdds_ds_dsggg,需要按下划线将其截取成四段    
declare @col varchar(30)   
set @col='abc_dcdds_ds_dsggg'   
set @col=replace(@col,'_','.')
select
parsename(@col,4),   
parsename(@col,3),   
parsename(@col,2),   
parsename(@col,1)   
   
/*
parsename ('object_name',object_piece )

'object_name'    
要检索其指定部分的对象的名称。object_name 的数据类型为 sysname。此参数是可选的限定对象名称。如果对象名称的所有部分都是限定的,则此名称可包含四部分:服务器名称、数据库名称、所有者名称以及对象名称。   
   
object_piece    
要返回的对象部分。object_piece 的数据类型为 int 值,可以为下列值:   
   
1 = 对象名称   
   
2 = 架构名称   
   
3 = 数据库名称   
   
4 = 服务器名称   
   
--注意是倒序,4是最前面的那个!!!   
--在分隔符少于等于3或者说分隔后的字段少于等于4都可以考虑用parsename。   
*/ 

原文地址:https://www.cnblogs.com/qanholas/p/2271034.html