【发布时间】:2015-12-14 18:41:12
【问题描述】:
我在 SQL 视图中有各种值,格式如下:
SoftwareName_Language_Architecture_Type_Version_{GUID}_INSTALL.Log
例如:Java-v6.27_ALL_x86_MSI_pV1.0_{26A24AE4-039D-4CA4-87B4-2F86416027FF}_INSTALL.Log
我希望这个结果出现在不同的列中:
SoftwareName
Architecture
Language
我正在使用各种功能 RIGHT,LEFT,CHARINDEX,TRIM 等处理多个 _ 字符。
【问题讨论】:
-
在您的格式掩码中,您有 4 个下划线,但在您的示例数据中,您有 6 个。您有处理多余下划线的规则吗?
-
我已经更正了帖子
-
在 Postgres 中你只需要使用 string_to_array(),但在 SQL Server 中,你需要自己定义一个表值函数,参见msdn.microsoft.com/en-us/library/ms191165.aspx
-
有很多现成的 SQL 拆分函数可以用于此。只需谷歌
SQL Split Function
标签: sql sql-server string trim charindex