【问题标题】:How to delimit data in one column into new columns如何将一列中的数据分隔到新列中
【发布时间】:2017-02-10 04:25:22
【问题描述】:

我不知道如何将我的数据分隔到新列中。

例子:

Column_A
q201,r331,q402,r0[213453]

我需要得到括号内的值,213453

从我搜索信息后得到的,我需要使用

substring and charindex

但是这种情况这种情况就像2倍分隔符。知道怎么做吗?

谢谢

【问题讨论】:

  • 您必须使用 charindex 搜索两个分隔符,然后使用子字符串

标签: sql-server substring delimiter charindex


【解决方案1】:
SELECT SUBSTRING(Column_A,
                 CHARINDEX('[', Column_A) + 1,
                 CHARINDEX(']', Column_A) - CHARINDEX('[', Column_A) - 1)
FROM yourTable

此答案假设您只有一个括号中的数量,或者如果超过一个,那么您将接受第一个。如果您的实际数据不同,请更新您的问题。

【讨论】:

  • 嗨蒂姆,我收到错误消息“将 nvarchar 值“my_value”转换为数据类型 int 时转换失败。我的实际数据格式与我的问题相同。
  • 我的查询应该可以正常工作。也许您错误地复制/解释了它,因此出现了错误。也许用你真正想做的事情来更新你的问题。
  • 嗨蒂姆,当我查看我的数据时,有些数据是 nvarchar 类型,例如 [213412easdaqwr],这会影响这种情况吗?
  • 我不确定为什么我的查询对您不起作用。尝试分别测试每个部分并找出问题所在。
猜你喜欢
  • 1970-01-01
  • 2020-09-20
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 2020-05-22
  • 1970-01-01
  • 2022-01-01
  • 1970-01-01
相关资源
最近更新 更多