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

    <legend id='heH1t'><style id='heH1t'><dir id='heH1t'><q id='heH1t'></q></dir></style></legend>
      • <bdo id='heH1t'></bdo><ul id='heH1t'></ul>

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

        SQL 查找字符串中的第一个非数字字符

        时间:2023-10-09
        <i id='tptN1'><tr id='tptN1'><dt id='tptN1'><q id='tptN1'><span id='tptN1'><b id='tptN1'><form id='tptN1'><ins id='tptN1'></ins><ul id='tptN1'></ul><sub id='tptN1'></sub></form><legend id='tptN1'></legend><bdo id='tptN1'><pre id='tptN1'><center id='tptN1'></center></pre></bdo></b><th id='tptN1'></th></span></q></dt></tr></i><div id='tptN1'><tfoot id='tptN1'></tfoot><dl id='tptN1'><fieldset id='tptN1'></fieldset></dl></div>
      2. <legend id='tptN1'><style id='tptN1'><dir id='tptN1'><q id='tptN1'></q></dir></style></legend>
          <tbody id='tptN1'></tbody>

            • <small id='tptN1'></small><noframes id='tptN1'>

              • <bdo id='tptN1'></bdo><ul id='tptN1'></ul>

                  <tfoot id='tptN1'></tfoot>
                1. 本文介绍了SQL 查找字符串中的第一个非数字字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我继承了一个带有 [nonnumericprefix][number] 格式标识符的表格.例如(ABC123;R2D2456778;等等).我想知道是否有一种很好的方法可以将 SQL 中的它分成两个字段,从右侧形成的最大整数和前缀,例如 (ABC, 123; R2D, 2456778; etc).我知道我可以使用游标、C# 代码等来做到这一点——如果必须的话,我会这样做——但我不会经常遇到我在 SQL 中无法快速轻松地完成的事情,所以我想我会发布它在这里.

                  I inherited a table with identifiers in a format [nonnumericprefix][number]. For example (ABC123; R2D2456778; etc). I was wondering if there was a good way to split this in SQL into two fields, the largest integer formed from the right side, and the prefix, for example (ABC, 123; R2D, 2456778; etc). I know I can do this with a cursor, C# code, etc - and I will if I have to - but I don't run into things I cannot do fast and easily in SQL very often, so I thought I'd post it here.

                  推荐答案

                  1. 反转字符串
                  2. 使用 PATINDEX 查找第一次出现的非数字字段
                  3. 使用 LEFT 函数返回字符串的数字部分

                  代码示例

                  DECLARE @myString varchar(100);
                  DECLARE @largestInt int;
                  
                  SET @myString = 'R2D2456778'
                  
                  SET @mystring = REVERSE(@myString);
                  SET @largestInt = LEFT(@myString, PATINDEX('%[a-z]%', @myString) - 1)
                  
                  PRINT ( CONVERT(varchar(100), @largestInt) )
                  

                  这篇关于SQL 查找字符串中的第一个非数字字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:行显示为#DELETED 下一篇:解析日期后从 Oracle Select 语句返回编号

                  相关文章

                  <small id='4PQCS'></small><noframes id='4PQCS'>

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

                        <bdo id='4PQCS'></bdo><ul id='4PQCS'></ul>

                    1. <legend id='4PQCS'><style id='4PQCS'><dir id='4PQCS'><q id='4PQCS'></q></dir></style></legend>
                      <tfoot id='4PQCS'></tfoot>