【问题标题】:Split a string to only use the middle part in SQL拆分字符串以仅使用 SQL 中的中间部分
【发布时间】:2016-11-09 12:11:58
【问题描述】:

我有一个字符串

ABC - ABCDEFGHIJK - 05/07/2016

我只想使用ABCDEFGHIJK 部分并删除字符串的第一部分和第三部分。

我曾尝试将SUBSTRINGCHARINDEX 一起使用,但只能删除字符串的第一部分。

有人帮忙吗?

【问题讨论】:

  • 你使用的是哪个数据库?
  • 做一个SUBSTRING('abcdef', 2, 3);将导致结果“bcd”。所以我不明白你为什么说使用子字符串不能解决你的问题?

标签: sql sql-server substring charindex


【解决方案1】:

您可以将SUBSTRING_INDEX()TRIM() 用于空格:

SELECT TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(string_col,'-',2),'-',-1)) AS Strig_Col
FROM YourTable;

【讨论】:

  • 内部SUBSTRING_INDEX 应该是SUBSTRING_INDEX(string_col,'-',2)
  • @10086 - 我认为两者都可以,但我通常会采用您的解决方案,因为它可以应对在末尾添加额外分隔部分的情况。
  • 啊,是的。我的错。
猜你喜欢
  • 2020-11-03
  • 1970-01-01
  • 2018-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-26
  • 2021-12-13
  • 1970-01-01
相关资源
最近更新 更多