【问题标题】:In KDB Q, how can I select the last letter of a symbol?在 KDB Q 中,如何选择符号的最后一个字母?
【发布时间】:2021-08-09 21:22:07
【问题描述】:

假设我有一个带有枚举符号列的表:

sym
_ _ _ _ 
AAPL
MSFT
INTC

我正在尝试仅选择符号最后一个字母为 C 的行。

我选择了 last string sym-1#string sym,但每次都会收到不兼容的列表长度错误。

我做错了什么?

【问题讨论】:

    标签: kdb


    【解决方案1】:

    关键字like 适用于符号和字符串,因此如果您尝试模式匹配,则无需转换为字符串

    q)select from ([]sym:`AAPL`MSFT`INTC`ABC) where sym like"*C"
    sym
    ----
    INTC
    ABC
    

    【讨论】:

      【解决方案2】:

      这行得通吗?

      q)t: ([] sym: `AAPL`MSFT`INTC)
      q)t
      sym 
      ----
      AAPL
      MSFT
      INTC
      q)select last each string sym from t
      sym
      ---
      L  
      T  
      C  
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-19
        • 2021-07-02
        相关资源
        最近更新 更多