通配符

通配符这个概念可以说是数据库语言中很重要的一块。

重要的原因想必各位小伙伴也可以猜的到,数仓的数据量级通常都是比较大的,很多时候我们做数据查询,并不能完全保证自己的查询条件是准确的,或者说我们需要模糊查询来获取一类数据,这种情况下通配符是很有用的。

相较于SQL,PowerBI使用通配符的机会并不多见。

根本原因在于二者的定位不同。PowerBI侧重于数据的前端展示,SQL是后端的数据清洗以及存储。

SQL通配符类别

通配符 描述
% 替换一个或多个字符
_ 替换一个字符
[列表] 提供范围
[^列表] 不在提供范围
[!列表] 不在提供范围

注:通配符必须与LIKE搭配使用。

使用实例

案例数据:

在白茶本机的数据库中,存在名为“TEST”的数据库,存在名为“产品表”的案例数据。

例子1:

在PowerBI中获取产品表[商品名称]开头为“童”的所有数据。

SELECT * FROM 产品表 WHERE 商品名称 LIKE N'童%'

结果如下:

例子2:

在PowerBI中获取产品表[商品名称]结尾为“裤”的所有数据。

SELECT * FROM 产品表 WHERE 商品名称 LIKE N'%裤'

结果如下:

例子3:

在PowerBI中获取产品表[商品名称]中间包含“儿”的所有数据。

SELECT * FROM 产品表 WHERE 商品名称 LIKE N'%儿%'

结果如下:

例子4:

在PowerBI中获取产品表[商品名称]中间包含“儿”且字符数为3所有数据。

SELECT * FROM 产品表 WHERE 商品名称 LIKE N'_儿_'

结果如下:

例子5:

在PowerBI中获取产品表[商品名称]开头包含“口、婴、童”的所有数据。

SELECT * FROM 产品表 WHERE 商品名称 LIKE N'[口婴童]%'

结果如下:

例子6:

在PowerBI中获取产品表[商品名称]开头不包含“口、婴、童”的所有数据。

SELECT * FROM 产品表 WHERE 商品名称 LIKE N'[^口婴童]%'

结果如下:

这里是白茶,一个PowerBI的初学者。