2013-10-23 95 views
1

我有一個表中有一個允許多達120個字符的字段。我想將該字段分成三個字段。如果該字段包含超過40個字符且小於80,則將該字段拆分爲兩個。分割點應該是第40個字符之前的第一個空格字符,並將兩個新字段添加到另一個表中。如果該字段爲120個字符,則將它們分成三份。拆分一個字段並將這些字段添加到另一個表

會感謝幫助!

回答

1

我想你可以沿着線做一些事情:

SELECT 
    SUBSTRING(MyCol,1,40), 
    NULLIF(SUBSTRING(MyCol,41,40), ''), 
    NULLIF(SUBSTRING(MyCol,81,40), ''), 

爲了使您的1列細分爲正確的INSERT聲明。

如果SubString()函數爲該值返回一個空字符串,那麼NullIf函數將正確設置需要的任何列NULL

+1

邏輯很好。但是提問者希望在40個分裂利益的字符中的最後一個空格字符分裂。 (如果在這120個字符中有4個滿足空格,那麼它將打破用例並引入第4個字段) –

相關問題