<i id='3tJtE'><tr id='3tJtE'><dt id='3tJtE'><q id='3tJtE'><span id='3tJtE'><b id='3tJtE'><form id='3tJtE'><ins id='3tJtE'></ins><ul id='3tJtE'></ul><sub id='3tJtE'></sub></form><legend id='3tJtE'></legend><bdo id='3tJtE'><pre id='3tJtE'><center id='3tJtE'></center></pre></bdo></b><th id='3tJtE'></th></span></q></dt></tr></i><div id='3tJtE'><tfoot id='3tJtE'></tfoot><dl id='3tJtE'><fieldset id='3tJtE'></fieldset></dl></div>
      • <bdo id='3tJtE'></bdo><ul id='3tJtE'></ul>
      <tfoot id='3tJtE'></tfoot>

      <small id='3tJtE'></small><noframes id='3tJtE'>

      <legend id='3tJtE'><style id='3tJtE'><dir id='3tJtE'><q id='3tJtE'></q></dir></style></legend>

      1. 如何选择混合字符串/整数列的最大值?

        时间:2023-10-08

            <bdo id='CbEGH'></bdo><ul id='CbEGH'></ul>
              <tbody id='CbEGH'></tbody>

            <small id='CbEGH'></small><noframes id='CbEGH'>

          • <tfoot id='CbEGH'></tfoot>

            1. <legend id='CbEGH'><style id='CbEGH'><dir id='CbEGH'><q id='CbEGH'></q></dir></style></legend>
              • <i id='CbEGH'><tr id='CbEGH'><dt id='CbEGH'><q id='CbEGH'><span id='CbEGH'><b id='CbEGH'><form id='CbEGH'><ins id='CbEGH'></ins><ul id='CbEGH'></ul><sub id='CbEGH'></sub></form><legend id='CbEGH'></legend><bdo id='CbEGH'><pre id='CbEGH'><center id='CbEGH'></center></pre></bdo></b><th id='CbEGH'></th></span></q></dt></tr></i><div id='CbEGH'><tfoot id='CbEGH'></tfoot><dl id='CbEGH'><fieldset id='CbEGH'></fieldset></dl></div>
                  本文介绍了如何选择混合字符串/整数列的最大值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  假设我有一个包含发票编号列的表,数据类型是 VARCHAR,混合字符串/整数值,例如:

                  Lets say that I have a table which contains a column for invoice number, the data type is VARCHAR with mixed string/int values like:

                  invoice_number
                  **************
                      HKL1
                      HKL2
                      HKL3
                      .....
                      HKL12
                      HKL13
                      HKL14
                      HKL15
                  

                  我尝试选择最大值,但它返回HKL9",而不是最高值HKL15".

                  I tried to select max of it, but it returns with "HKL9", not the highest value "HKL15".

                  SELECT MAX( invoice_number )
                  FROM `invoice_header`
                  

                  推荐答案

                  HKL9 (string) 大于 HKL15,因为它们是作为字符串比较的.解决您的问题的一种方法是定义一个列函数,该函数仅返回发票编号的数字部分.

                  HKL9 (string) is greater than HKL15, because they are compared as strings. One way to deal with your problem is to define a column function that returns only the numeric part of the invoice number.

                  如果您的所有发票编号都以 HKL 开头,那么您可以使用:

                  If all your invoice numbers start with HKL, then you can use:

                  SELECT MAX(CAST(SUBSTRING(invoice_number, 4, length(invoice_number)-3) AS UNSIGNED)) FROM table
                  

                  它取invoice_number,不包括前3个字符,转换为int,并从中选择max.

                  It takes the invoice_number excluding the 3 first characters, converts to int, and selects max from it.

                  这篇关于如何选择混合字符串/整数列的最大值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:从一个表中选择,插入到另一个表中 oracle sql 查询 下一篇:MySQL - 如果它以数字或特殊字符开头

                  相关文章

                  • <bdo id='JAtdt'></bdo><ul id='JAtdt'></ul>
                  1. <legend id='JAtdt'><style id='JAtdt'><dir id='JAtdt'><q id='JAtdt'></q></dir></style></legend>
                    <tfoot id='JAtdt'></tfoot>

                    <small id='JAtdt'></small><noframes id='JAtdt'>

                    1. <i id='JAtdt'><tr id='JAtdt'><dt id='JAtdt'><q id='JAtdt'><span id='JAtdt'><b id='JAtdt'><form id='JAtdt'><ins id='JAtdt'></ins><ul id='JAtdt'></ul><sub id='JAtdt'></sub></form><legend id='JAtdt'></legend><bdo id='JAtdt'><pre id='JAtdt'><center id='JAtdt'></center></pre></bdo></b><th id='JAtdt'></th></span></q></dt></tr></i><div id='JAtdt'><tfoot id='JAtdt'></tfoot><dl id='JAtdt'><fieldset id='JAtdt'></fieldset></dl></div>