Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQL中,如何在每个空格后从末尾拆分值?_Sql_Snowflake Cloud Data Platform - Fatal编程技术网

在SQL中,如何在每个空格后从末尾拆分值?

在SQL中,如何在每个空格后从末尾拆分值?,sql,snowflake-cloud-data-platform,Sql,Snowflake Cloud Data Platform,我试图从一个字符串中提取值,我希望从末尾读取该值,并从第一个和第二个空间获取所有内容 我的数据值有以下示例: 佛罗里达州电影表格250MG 70 电影表格250MG 70 并且,我希望将数据拆分为 Col1 | Col2 | Col3 | Col4 FILMTABL FL.|250 |MG |70 FILMTABL |250 |MG |70 DDL: CREATE TABLE MY_TABLE(MY_COL CHAR(50)); INS

我试图从一个字符串中提取值,我希望从末尾读取该值,并从第一个和第二个空间获取所有内容

我的数据值有以下示例:

佛罗里达州电影表格250MG 70

电影表格250MG 70

并且,我希望将数据拆分为

Col1        | Col2 | Col3 | Col4    
FILMTABL FL.|250   |MG    |70    
FILMTABL    |250   |MG    |70
DDL:

CREATE TABLE MY_TABLE(MY_COL CHAR(50));
INSERT INTO MY_TABLE
SELECT 'FILMTABL FL. 250MG 70'
UNION
SELECT 'FILMTABL 250MG 70';
DML:

CREATE TABLE MY_TABLE(MY_COL CHAR(50));
INSERT INTO MY_TABLE
SELECT 'FILMTABL FL. 250MG 70'
UNION
SELECT 'FILMTABL 250MG 70';

我想我找到了我问题的答案。但如果有人给出更好的答案,我会把它作为这个问题的答案

SELECT REPLACE(REVERSE(SPLIT_PART(REVERSE(PACK), ' ', 2)), 'MG', '') AS Col2, REPLACE(REVERSE(SPLIT_PART(REVERSE(PACK), ' ', 1)), 'MG', '') AS Col4;

我知道您以前使用过正则表达式(post history)。你在这个场合尝试了什么,它是如何工作的?Hello@FelipeHoffa-我尝试了TRIM(右(我的第三个字母))::INT开始,但这并不是每次都给我正确的结果。