【问题标题】:Picking the maximum value from an alpha-numeric column in MS Access从 MS Access 中的字母数字列中选取最大值
【发布时间】:2013-04-12 19:08:26
【问题描述】:

我有一个表,其中有一列数据类型为“备忘录”。
该字段包含“X003”、“X0022”、“X002”、“X0030”、“X0031”、“X004”等值。简而言之,第一个“X00”部分是通用的,其余部分是整数。
我想通过 sql 查询选择第二部分中包含最大整数的行。 sql应该怎么写?
如果它只是一个整数,我会在 sql 中使用“MAX()”来获取最大值。但它与此不同。我应该怎么办? 请帮帮我。

【问题讨论】:

    标签: sql ms-access max memo


    【解决方案1】:
    SELECT max(val(mid([col],3))) FROM thetable;
    

    即选择第三个字符后的最大值,转换为数字(如果不可转换,则为 0)。

    【讨论】:

    • 还有一个问题:如果表中没有记录,这个会返回0吗?
    【解决方案2】:

    您可以在查询中执行简单的MID() 以获取最后两个字符,然后将它们转换为整数,甚至可以直接在块上执行MAX()

    【讨论】:

    • 我的错。它没有。看起来我正在使用太多的语言。 :)
    【解决方案3】:
    How should i write the sql?
    

    如果你正在寻找sql查询

    SELECT 
        MAX(CONVERT(INT,CASE WHEN PatIndex('%[a-z]%',REVERSE(memo)) > 0
          THEN RIGHT(memo,PatIndex('%[a-z]%',REVERSE(memo))-1)
          ELSE NULL END)) AS maxmemo
    FROM Table1
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-10
      • 1970-01-01
      • 2016-07-02
      • 1970-01-01
      • 2020-09-30
      • 2015-06-05
      相关资源
      最近更新 更多