【问题标题】:MSSQL split string with delimiter [duplicate]带分隔符的 MSSQL 拆分字符串 [重复]
【发布时间】:2015-11-06 04:50:39
【问题描述】:

我想把一个字符串分成两个表。

我有一个名为 event01_eventsummary 的表。在此表中,示例条目是:“史密斯先生 | 与史密斯夫人会面”。

现在我想要表 event01_eventorganizer 中分隔符 (|) 之前的字符串。

我知道在 MySQL 中我可以使用 MySQL SUBSTRING_INDEX() 函数。 我无法制作 xml 或创建函数来复制 MSSQL 中的 MySQL SUBSTRING_INDEX() 函数,因为我无法直接访问 SQL Server。

有谁知道我怎么能做到这一点?

编辑:它不是重复的。我尝试了 T-SQL Scalar 函数和其他公开可用的解决方案。但我似乎找不到不需要创建函数的方法。

【问题讨论】:

  • 你有没有尝试过?
  • 是的,我做到了。我尝试了 T-SQL Scalar 函数和其他公开可用的解决方案。但我似乎找不到不需要创建函数的方法。

标签: mysql sql-server sql-server-2008


【解决方案1】:

希望对你有帮助

declare @temp table
(
val nvarchar(max)
)
insert into @temp values ('Mr. Smith | Meeting with Mrs.Smith');

declare @temp2 table
(
val nvarchar(max))

insert into @temp2
select LEFT(val, CHARINDEX('|', val) -1)
from @temp

select * from @temp2

【讨论】:

  • 谢谢!当值已经在表中时,你会怎么做?不插入它们?表名也是 event01_eventorganizer & event01_eventsummary
  • @MaximilianRosenthal 我的表是临时表,你必须替换你的表而不是 @temp 和 @temp2 之类的 insert into event01_eventorganizer select LEFT(entry, CHARINDEX('|', val) -1)from event01_eventsummary
  • 插入时出现语法错误?!
猜你喜欢
  • 2020-10-03
  • 1970-01-01
  • 2020-01-07
  • 2011-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多