我有这段文本存储在我们的 MS-SQL 数据库中(忽略引号,不,我无法重新设计具体的工作方式):
“测试|00000298398293|EQ5|病人”
现在,当我做一个简单的选择时,我得到了返回的结果。我想做的是根据“|”拆分该字符串 字符并返回与该字符串关联的各个字符串,这样我就可以在不同的字段中有“TEST”、“0000298398293”、“EQ5”和“Patient”。我怎样才能做到这一点?在PHP中可以使用explode方法,在MS-SQL中有类似的吗?
我有这段文本存储在我们的 MS-SQL 数据库中(忽略引号,不,我无法重新设计具体的工作方式):
“测试|00000298398293|EQ5|病人”
现在,当我做一个简单的选择时,我得到了返回的结果。我想做的是根据“|”拆分该字符串 字符并返回与该字符串关联的各个字符串,这样我就可以在不同的字段中有“TEST”、“0000298398293”、“EQ5”和“Patient”。我怎样才能做到这一点?在PHP中可以使用explode方法,在MS-SQL中有类似的吗?
这肯定不是最优雅的解决方案,但我过去曾使用过:
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 个管道的情况下才有效,最终考虑在未来重新设计你的数据库!