查询中Split函数不管用?试试这个自定义函数!

hi,大家好!

我们在实际的应用中会有这样的一些情况,获取的一些数据是由一些特殊字符连接起来的,比如:XXX汽车\SUV\EV\纯电。类似这样的数据,我们在应用过程中,需要将数据拆开,如果用vba来操作的话,相信大家都知道用Split函数来操作,但如果用查询该怎么操作呢?在查询中如果使用Split函数是不支持的,因为Split返回是数组,所以这个时候,我们就需要自定义一个函数来操作了。

01

获取测试数据

假设我们有这样一张表,如下图

在图中,我们可以看到字段1的数据是用“\”隔开的,是满足我们需要测试的数据。

02

添加代码

数据我们有了,接着,我们就可以来添加代码了,具体的代码如下:

Function StrPart(sText, lngIndex As Integer, Optional sDelimeter As String = "\")
On Error Resume Next
StrPart = Split(sText, "\")(lngIndex - 1)
End Function

sText:含有分隔符的字符串

lngIndex:要返回的部分的索引,从1开始

sDelimeter:分隔符,默认为“\”

注意:这些函数要放到通用模块

03

创建查询

函数我们添加好了,接着就要来创建查询了,在查询中我们就可以使用函数来操作了

SELECT StrPart([字段1],1) AS 编号, StrPart([字段1],2) AS 品牌, StrPart([字段1],3) AS 派系, StrPart([字段1],4) AS 类型, StrPart([字段1],5) AS 能源类型
FROM 表1

运行效果:

好了,大家快去试一下吧!

原文链接:,转发请注明来源!