通配符
通配符这个概念可以说是数据库语言中很重要的一块。
重要的原因想必各位小伙伴也可以猜的到,数仓的数据量级通常都是比较大的,很多时候我们做数据查询,并不能完全保证自己的查询条件是准确的,或者说我们需要模糊查询来获取一类数据,这种情况下通配符是很有用的。
相较于SQL,PowerBI使用通配符的机会并不多见。
根本原因在于二者的定位不同。PowerBI侧重于数据的前端展示,SQL是后端的数据清洗以及存储。
SQL通配符类别
通配符 | 描述 |
---|---|
% | 替换一个或多个字符 |
_ | 替换一个字符 |
[列表] | 提供范围 |
[^列表] | 不在提供范围 |
[!列表] | 不在提供范围 |
注:通配符必须与LIKE搭配使用。
使用实例
案例数据:
在白茶本机的数据库中,存在名为“TEST”的数据库,存在名为“产品表”的案例数据。
例子1:
在PowerBI中获取产品表[商品名称]开头为“童”的所有数据。
代码语言:javascript复制SELECT * FROM 产品表 WHERE 商品名称 LIKE N'童%'
结果如下:
例子2:
在PowerBI中获取产品表[商品名称]结尾为“裤”的所有数据。
代码语言:javascript复制SELECT * FROM 产品表 WHERE 商品名称 LIKE N'%裤'
结果如下:
例子3:
在PowerBI中获取产品表[商品名称]中间包含“儿”的所有数据。
代码语言:javascript复制SELECT * FROM 产品表 WHERE 商品名称 LIKE N'%儿%'
结果如下:
例子4:
在PowerBI中获取产品表[商品名称]中间包含“儿”且字符数为3所有数据。
代码语言:javascript复制SELECT * FROM 产品表 WHERE 商品名称 LIKE N'_儿_'
结果如下:
例子5:
在PowerBI中获取产品表[商品名称]开头包含“口、婴、童”的所有数据。
代码语言:javascript复制SELECT * FROM 产品表 WHERE 商品名称 LIKE N'[口婴童]%'
结果如下:
例子6:
在PowerBI中获取产品表[商品名称]开头不包含“口、婴、童”的所有数据。
代码语言:javascript复制SELECT * FROM 产品表 WHERE 商品名称 LIKE N'[^口婴童]%'
结果如下:
这里是白茶,一个PowerBI的初学者。