sql将一列按照不同长度分为几列
时间: 2023-09-06 15:09:43 浏览: 75
可以使用 SUBSTRING 函数和 CASE 表达式来实现将一列按照不同长度分为几列的操作,示例代码如下:
```
SELECT
CASE
WHEN LEN(column_name) <= 5 THEN SUBSTRING(column_name, 1, 5)
WHEN LEN(column_name) <= 10 THEN SUBSTRING(column_name, 1, 5)
+ ' ' + SUBSTRING(column_name, 6, 5)
ELSE SUBSTRING(column_name, 1, 5)
+ ' ' + SUBSTRING(column_name, 6, 5)
+ ' ' + SUBSTRING(column_name, 11, 5)
END AS column_1,
CASE
WHEN LEN(column_name) <= 15 THEN ''
WHEN LEN(column_name) <= 20 THEN SUBSTRING(column_name, 16, 5)
ELSE SUBSTRING(column_name, 16, 5)
+ ' ' + SUBSTRING(column_name, 21, 5)
END AS column_2,
CASE
WHEN LEN(column_name) <= 25 THEN ''
ELSE SUBSTRING(column_name, 26, 5)
+ ' ' + SUBSTRING(column_name, 31, 5)
END AS column_3
FROM table_name;
```
以上代码将一列名为 column_name 的数据按照长度分为三列,第一列长度为 5,第二列长度为 5-10,第三列长度为 11-15。可以根据需要调整分列的长度和分列的数量。
阅读全文