只需要 SQL 数据结果的特定部分。有任何想法吗?
Need only specific part of SQL data results. Any ideas?
我 运行 遇到了一个问题,并且进行了广泛的搜索,但没有太大的成功。我有一个提取帐号的 SQL 语句。帐号由四部分组成,但我需要将中间部分之一分开到它自己的列中。我见过各种 TRIM 方法,但似乎没有任何效果。
基本上账号是这样的:
1 02 345678901
基本上数据有19个字符。有一个数字(第一个 1
),四个空格,然后是两个数字(在本例中是 02
),还有几个空格,然后是帐号的其余部分。我要提取的只是中间的 02
。但是,更重要的是这个数字可能并不总是 02
。它可以是 01、02、03...一直到 29,我认为这就是我们所拥有的。
我试过使用 LEFT(ColumnName, 7)
但这给了我一个完整的开始。我尝试过其他变体,但我觉得我遗漏了一些明显的东西。无论如何,我只需要在它们自己的列中位于中间的两个数字。
如有任何帮助或建议,我们将不胜感激。谢谢! :D
如果他们总是采用这种格式,则使用 substring()
:
select substring(columnname, 6, 2)
您是否尝试过混合使用 LEFT() 和 RIGHT() 函数来获得您需要的东西?
更简单,使用 substring() 函数。
请查看此页面:https://dev.mysql.com/doc/refman/5.0/en/string-functions.html
我 运行 遇到了一个问题,并且进行了广泛的搜索,但没有太大的成功。我有一个提取帐号的 SQL 语句。帐号由四部分组成,但我需要将中间部分之一分开到它自己的列中。我见过各种 TRIM 方法,但似乎没有任何效果。
基本上账号是这样的:
1 02 345678901
基本上数据有19个字符。有一个数字(第一个 1
),四个空格,然后是两个数字(在本例中是 02
),还有几个空格,然后是帐号的其余部分。我要提取的只是中间的 02
。但是,更重要的是这个数字可能并不总是 02
。它可以是 01、02、03...一直到 29,我认为这就是我们所拥有的。
我试过使用 LEFT(ColumnName, 7)
但这给了我一个完整的开始。我尝试过其他变体,但我觉得我遗漏了一些明显的东西。无论如何,我只需要在它们自己的列中位于中间的两个数字。
如有任何帮助或建议,我们将不胜感激。谢谢! :D
如果他们总是采用这种格式,则使用 substring()
:
select substring(columnname, 6, 2)
您是否尝试过混合使用 LEFT() 和 RIGHT() 函数来获得您需要的东西?
更简单,使用 substring() 函数。
请查看此页面:https://dev.mysql.com/doc/refman/5.0/en/string-functions.html