0

我有这段文本存储在我们的 MS-SQL 数据库中(忽略引号,不,我无法重新设计具体的工作方式):

“测试|00000298398293|EQ5|病人”

现在,当我做一个简单的选择时,我得到了返回的结果。我想做的是根据“|”拆分该字符串 字符并返回与该字符串关联的各个字符串,这样我就可以在不同的字段中有“TEST”、“0000298398293”、“EQ5”和“Patient”。我怎样才能做到这一点?在PHP中可以使用explode方法,在MS-SQL中有类似的吗?

4

1 回答 1

1

这肯定不是最优雅的解决方案,但我过去曾使用过:

DECLARE @Sql varchar(50) = 'TEST|00000298398293|EQ5|Patient'


SELECT
    PARSENAME(REPLACE(@sql,'|','.'),4),
    PARSENAME(REPLACE(@sql,'|','.'),3),
    PARSENAME(REPLACE(@sql,'|','.'),2),
    PARSENAME(REPLACE(@sql,'|','.'),1)

注意:这只有在你有 3 个管道的情况下才有效,最终考虑在未来重新设计你的数据库!

于 2013-04-30T19:18:29.237 回答