SQL Server拼接字段解密大法

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 拼接字段解密大法可以帮助我们拆分原来拼接到一起的字段,有助于大家解决一些相关的问题,希望能够帮助到大家。

阅读剩余
THE END