2009-08-10 71 views
1

爲了解決一些銷售數據,我花了相當長的時間工作,但遇到了一個錯誤,開始誤導我如此真實,吃了我的工作時間。經過這麼多的努力,我非常厭倦,幾乎放棄了不可輸入的記錄。Excel到SQL的直接導入錯誤

場景:需要

  1. 批量銷售數據來自於TXT/CSV格式直接從田間到驗證字符串導入到SQL數據庫,然後用地址的歷史信息可匹配表上的組合領域。

  2. 如果代碼匹配,需要運行一個腳本來更新帶有數據的表。如果不匹配,則需要將大量數據插入到不同的表中以創建最終銷售導入所需的ID。

  3. 其中大部分是匹配的,除了少數給予麻煩外。我只需要將它們導入歷史表。然後開始了問題,儘管我更新了它們,但我無法匹配它們。

經過一番很多失意小時,我剛纔問我的女朋友來檢查時,有字符串中的任何錯誤,和我一起工作。

字符串是「Bramhall Stockport」,與「Bramhall Stockport」匹配。對於SQL腳本,這兩個字符串不匹配。

我敢打賭,如果你複製並粘貼在你的桌上,這將匹配,因爲現在這是txt格式。

之後,安娜想通錯誤(她是不是一個電腦迷,建築學碩士),通過簡單地應對和粘貼上的Microsoft Word 2007

截圖:http://www.contentbcc.com/Anushka/sql_xls.png

你看到區別?首先在txt/csv文件中,然後在SQL表中。

+0

這個特殊字符是 Degree°0176(ASCII) – Kush 2009-08-10 11:12:41

回答

0

在第一個中,您有三個常規空格(ascii 20)。在第二個中,您有一個常規空間,後面跟着一個不間斷空格(unicode 0xA0)。在Excel中,您可以執行搜索並使用ALT + 0160作爲搜索,並用空格字符替換來修復它。

+0

另一個問題背後,是爲什麼SQL創建的字符與原始txt/csv文件非常相似? – Kush 2009-08-10 15:48:46

+0

我懷疑是這樣。在SQL獲得它們之前,這些可能是非破壞性的空間。數據的原始來源是什麼?如果它是在獲取到csv文件之前從網頁或單詞中複製的,那麼它很可能在非破壞空間的位置。在html中使用 相當常見。 – Cahlroisse 2009-08-10 16:01:23