2010-12-12 82 views
0

我有一個輸入:分離SQL表達的

(123)555-234-556,(321)333-324-223 

我需要分離和分配所述第一半(直到逗號)變量A和第二半以可變B. 另外我需要能夠形成的部分是這樣的:

123-555-234-556 
+2

爲了確認,此被整個字符串被存儲在一列?這將有助於瞭解您正在使用的數據庫管理系統。 MySQL的? SQL Server?甲骨文? – VoteyDisciple 2010-12-12 13:40:11

回答

0

PostgreSQL的解決方案:

 
SELECT substring(t,2,3)||'-'||substring(t,6) 
FROM unnest(string_to_array('(123)555-234-556,(321)333-324-223',',')) as t 
0

替代Postg reSQL解決方案,假設你想在兩個單獨的列中的值:

首先在兩列(我懷疑你的意思是列)都有他們。然後

select 
substring(input,0,position(',' in input)) as A, 
substring(input,position(',' in input)+1) as B 
from (select '(123)555-234-556,(321)333-324-223'::varchar as input) fakeInput 

第二部分是

substring(A,2,3) || '-' || substring(A,6) as modifiedA