我有以下列的条目
01:02:02:02
02:01:100:300
128:02:12:02
我需要一种方法来选择我想要显示的部分,如
01:02:02
02:01:100
128:02:12
output 或
01:02
02:01
128:02
我在类似的问题中尝试过建议的解决方案但没有成功,如
select substring(column_name, '[^:]*$') from table_name;
这怎么可行?
答案 0 :(得分:2)
要获得前三个部分,您可以使用
public string GetRuntimeVersion()
{
#if NET451
return "net451";
#elseif netcoreapp11
return "netcoreapp11";
#elseif netstandard14
return "netcoreapp14";
#endif
...
}
对于前两部分,省略SELECT substring(column_name FROM '^(([^:]*:){2}[^:]*)')
FROM table_name;
。对于前四个部分,请将其设为{2}
。
答案 1 :(得分:0)
尝试split_part
(您可以在其中指定所需的事件),例如:
t=# with s as (select '128:02:12:02'::text m) select split_part(m,':',1),split_part(m,':',2) from s;
split_part | split_part
------------+------------
128 | 02
(1 row)