【问题标题】:Powerquery SQL search for specific charactersPowerquery SQL 搜索特定字符
【发布时间】:2020-10-19 08:29:08
【问题描述】:
DR_code  DR_lastname  DR_markers  
ACE      Acerine      H,h,J,D,L,K   
MER      Merger       P,L,M,n,D  
SMI      Smith        D,K,M,b,v  
SMI1     Smith        L,K,M,H,f 

在上面的 SQL 表中,我想搜索匹配特定标记的客户端。这些标记可以由用户输入,例如 D & K。搜索必须区分大小写。

sql="SELECT DR_LASTNAME WHERE DR_MARKER COLLATE Latin1_General_BIN LIKE '%D%' AND DR_MARKER COLLATE Latin1_General_BIN LIKE '%K%'" 

上述方法可行,但我希望用户能够选择自定义数量的标记。

我在 Powerquery 的一个变量中选择了标记,例如 VAR_MARKERS = "DK" 但我无法让它工作:

VAR_MARKERS="DK",    
sql="SELECT DR_LASTNAME WHERE DR_MARKER CONTAINS".VAR_MARKERS.""

【问题讨论】:

  • (1) 用您正在使用的数据库标记您的问题。 (2) 修复你的数据模型!不要在单个字符串列中存储多个值。这在任何数据库中都不正确。
  • 或者DR_markers列使用JSON,对应的函数在里面搜索。

标签: sql powerquery m


【解决方案1】:

您的数据库是否支持正则表达式?如果是,则将“&”替换为“|” (管道)并使用一些函数/谓词,如“regexp_like”。 SQL Server exampleOracle examplePostgres example.

【讨论】:

    猜你喜欢
    • 2023-03-07
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-25
    • 1970-01-01
    • 2017-09-18
    相关资源
    最近更新 更多