SQL Server拼接字段解密大法(sqlserver拼字段)
SQL Server 是一款备受欢迎的关系数据库,有些时候会遇到一些将多个字段拼接成一个时,有时候我们需要将字段解分开,这时我们就需要用到SQL Server 的拼接字段解密大法。
首先,我们可以使用内置的系统函数CHARINDEX,该函数可以在一个给定的字符串中查找子字符串,如果查找到则返回子字符串出现的位置,如果没有查找到则返回0,它的格式如下:
CHARINDEX( Substring, String, Start)
Substring 为要查找的子字符串;
String 为要查找的输入字符串;
Start 为指定从输入字符串查找子字符串的开始位置,默认为1,表示从输入字符串的开头开始查找。
例如,拼接成一个字段中有姓名和年龄,可以按照如下的使用方式
SELECT SUBSTRING(Name, 0, CHARINDEX(‘,’, Name, 0)) AS Name, //从前到后从第0个位置获取Substring SUBSTRING(Name, CHARINDEX(‘,’, Name, 0)+1, len(Name)) AS Age //从前到后第0个位置的下一个位置获取Substring FROM TestTable
另外一种解决方法就是使用SQL Server的PARSENAME函数,它可以将拼接到一起的字段拆分为一个个独立的字段,它的格式如下:
PARSENAME( ‘Name[,Age]’, int index)
其中 index 为1到4,表示要获取的索引值,index值分别表示:
index = 1, 表示返回变量中的数据库名
index = 2, 表示返回变量中的拥有者名称
index = 3, 表示返回变量中的表名
index = 4, 表示返回变量中的列名
使用方法如下:
SELECT PARSENAME(Name,1) AS Name, PARSENAME(Name, 2) AS Age FROM TestTable
总而言之,SQL Server 拼接字段解密大法可以帮助我们拆分原来拼接到一起的字段,有助于大家解决一些相关的问题,希望能够帮助到大家。