【发布时间】:2021-12-28 17:32:57
【问题描述】:
我有一个列,其中包含列名和该列的值,格式如下:
column_name
name1: value1 name2: valu2 name3: value3 name4: value4 name5: value5
我希望列采用以下格式,而不是上面的设置:
| name1 | name2 | name3 | name4 | name5 |
|---|---|---|---|---|
| value1 | value2 | value3 | value4 | value5 |
问题是这些值在整个列中并不一致,有时我会有这些值的组合,有时没有,有时只有一个,但不管顺序如何,所有这些列都会必须创建。如何以我不必像这样指定值的通用方式调用它们:
CASE WHEN CHARINDEX(' ',column_name)>0
then SUBSTRING(column_name,1,CHARINDEX(' ',column_name)-1)
else column_name end name1,
CASE WHEN CHARINDEX(' ',column_name) > 0
THEN SUBSTRING(column_name,CHARINDEX(' ',column_name)+1,len(column_name))
ELSE NULL END as name2
【问题讨论】:
-
SQL Server PostgreSQL。请edit你的问题重新标记你真正使用的RDBMS。
标签: sql amazon-web-services amazon-redshift