SQL - 拆分字符串

时间:2015-12-10 05:09:06

标签: sql plsql

我正在尝试根据空格分割字符串(例如BUFORD GA 30518)以填充不同的字段City,State和zipcode。请帮我写一下SQL中的查询

1 个答案:

答案 0 :(得分:0)

试试这个:

SELECT  City= LEFT(Column, CHARINDEX(' ',Column)-1)
,State= LEFT(SUBSTRING(Column, CHARINDEX(' ',Column)+1,LEN(Column)), CHARINDEX(' ',SUBSTRING(Column, CHARINDEX(' ',Column)+1,LEN(Column)))-1)
,zipcode= REVERSE(LEFT(REVERSE(Column), CHARINDEX(' ',REVERSE(Column))-1))

你可以试试这个:

SELECT REGEXP_SUBSTR(t.column_one, '[^ ]+', 1, 1) col_one,
       REGEXP_SUBSTR(t.column_one, '[^ ]+', 1, 2) col_two,
       REGEXP_SUBSTR(t.column_one, '[^ ]+', 1, 3) col_three
FROM YOUR_TABLE t;

也可以尝试:

SELECT SUBSTR(t.column_one, 1, INSTR(t.column_one, ' ')-1) AS col_one,
       SUBSTR(t.column_one, INSTR(t.column_one, ' ')+1) AS col_two,
       SUBSTR(t.column_one, INSTR(t.column_one, ' ')+1) AS col_three
FROM YOUR_TABLE t