【问题标题】:how to select substring from concatenated filed?如何从连接的文件中选择子字符串?
【发布时间】:2014-03-10 18:41:30
【问题描述】:

我有一个要求,我想在数据库中获取连接列的子字符串。不同记录的长度可以不同,但​​模式相同。
示例:
我想从列值4306657|AA-BB-CC-XX-10|5194|BILLING 中获得4306657|AA-BB-CC-XX-10|5194| 的值。
选择语句或函数是什么?

【问题讨论】:

  • 建议:在编程语言 php/ruby/perl/.net 中拆分,如果不传递到下一个 sql 查询,则在 sql 中拆分。另外,如果您要连接一个字符串,为什么要连接要单独阅读的部分

标签: sql substring


【解决方案1】:

在mysql中使用SUBSTRING函数。 这是该函数的语法

SUBSTRING(str, pos, len)

在哪里
str = 输入字符串,
pos = 一个整数,表示字符串 str 中的字符串位置,
len = 一个整数,表示要返回的字符数。

【讨论】:

    【解决方案2】:

    你可以试试这个..

    DECLARE @TEST VARCHAR(1000)
    SET @TEST = '4306657|AA-BB-CC-XX-10|5194|BILLING'
    
    SELECT SUBSTRING(@TEST,1,LEN(@TEST)-CHARINDEX('|',REVERSE(@TEST),1)+1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 2011-08-22
      • 2011-09-21
      • 1970-01-01
      • 2023-02-25
      • 2021-11-17
      • 2011-01-13
      相关资源
      最近更新 更多