2012-03-16 43 views
0
OrderDate Region Rep  Item Units Unit  Cost Total 
01/06/10 Quebec Joneson Pencil 95  1.990  189.05 
01/23/10 Ontario Kiveell Binder 50  19.99  999.5 
02/09/10 Ontario Jardine Pencil 36  4.990  179.64 
02/26/10 Ontario Gillber Pencil 27  19.99  539.73 
03/15/10 Alberta Sorvino Pencil 56  2.990  167.44 
04/01/10 Quebec Joneson Binder 60  4.990  299.4 
04/18/10 Ontario Andrews Pencil 75  1.990  149.25 
05/05/10 Ontario Jardine Pencil 90  4.990  449.1 
05/22/10 Alberta Thompso Pencil 32  1.990  63.68 
06/08/10 Quebec Joneson Binder 60  8.990  539.4 

這是我擁有的數據......這一切都導入到單個列RAWDATA varchar(8000) ..現在我想這個數據導出到表的多個列的列標題(OrderdateRegion,代表... )..但我不能...幫助我..謝謝提前真正的艱難:如何將單列插入多列?

+0

你應該閱讀MSDN:[字符串操作(http://msdn.microsoft.com/en-us /library/ms181984.aspx)。但是首先你不應該有這樣的數據,這是一個設計不佳的明顯例子。 – 2012-03-16 10:09:58

+0

什麼ü意味着糟糕的設計?我只是想將其導入到多個coloumns並投它,但像單元的值,unitcost不能被鑄造爲int或money..due額外spaces..i試圖微調它與ltrim(rtrim(substring(...)))..但它仍然會引發錯誤.sayin無法將char類型轉換爲int。幫我出 – Anzhi 2012-03-20 09:08:41

+0

糟糕的設計,我的意思是你真正的問題是,你必須存儲爲varchar在另一個表列整個SQL表的事實。那簡直是愚蠢的,無論誰做了這件事,在我工作的地方都會被解僱。正確的方法是重新導入數據,這次直接到更合適的表格。 – 2012-03-20 09:46:10

回答

0

當涉及到SQL和列特別的金科玉律是存儲每列僅包括原子數據。

示例:您不將John Smith存儲到「客戶」列中。您可以將John存儲到「ClientName」中,並將Smith存儲在「ClientFamilyName」中。
這使您可以將這些值的任意組合。
您目前正在打破(因缺乏更強的術語)這條規則。

您需要重做導入,以便原始源中的每列與您的SQL數據庫中的列匹配。然後,您可以在訂購日期在SQL中是正確的日期時間,單位爲INT,區域爲varchar等