SQLSERVER切割转多列
时间: 2023-09-13 10:02:32 浏览: 46
您可以使用 SQL Server 中的 SUBSTRING 函数将一个列的值切割成多个列。
假设您有一个名为 "ColumnName" 的列,其值类似于 "Value1_Value2_Value3" 的形式,您希望将其切割成三个列 "Column1"、"Column2"、"Column3",分别存储 "Value1"、"Value2"、"Value3"。
您可以使用以下 SQL 查询来实现这个目标:
```
SELECT
SUBSTRING(ColumnName, 1, CHARINDEX('_', ColumnName) - 1) AS Column1,
SUBSTRING(ColumnName, CHARINDEX('_', ColumnName) + 1, CHARINDEX('_', ColumnName, CHARINDEX('_', ColumnName) + 1) - CHARINDEX('_', ColumnName) - 1) AS Column2,
SUBSTRING(ColumnName, CHARINDEX('_', ColumnName, CHARINDEX('_', ColumnName) + 1) + 1, LEN(ColumnName) - CHARINDEX('_', REVERSE(ColumnName))) AS Column3
FROM YourTable
```
请将 "YourTable" 替换为您的表名,"ColumnName" 替换为您的列名。
这个查询使用了 SUBSTRING、CHARINDEX 和 LEN 函数来进行切割和提取操作。每个函数的具体用法请参考 SQL Server 的官方文档。
希望能帮到您!如果还有其他问题,请随时提问。