Excel到SQL的直接导入错误
为了解决一些销售数据,我花了相当长的时间工作,但遇到了一个错误,开始误导我如此真实,吃了我的工作时间。经过这么多的努力,我非常厌倦,几乎放弃了不可输入的记录。Excel到SQL的直接导入错误
场景:需要
批量销售数据来自于TXT/CSV格式直接从田间到验证字符串导入到SQL数据库,然后用地址的历史信息可匹配表上的组合领域。
如果代码匹配,需要运行一个脚本来更新带有数据的表。如果不匹配,则需要将大量数据插入到不同的表中以创建最终销售导入所需的ID。
其中大部分是匹配的,除了少数给予麻烦外。我只需要将它们导入历史表。然后开始了问题,尽管我更新了它们,但我无法匹配它们。
经过一番很多失意小时,我刚才问我的女朋友来检查时,有字符串中的任何错误,和我一起工作。
字符串是“Bramhall Stockport”,与“Bramhall Stockport”匹配。对于SQL脚本,这两个字符串不匹配。
我敢打赌,如果你复制并粘贴在你的桌上,这将匹配,因为现在这是txt格式。
之后,安娜想通错误(她是不是一个电脑迷,建筑学硕士),通过简单地应对和粘贴上的Microsoft Word 2007
截图:http://www.contentbcc.com/Anushka/sql_xls.png
你看到区别?首先在txt/csv文件中,然后在SQL表中。
在第一个中,您有三个常规空格(ascii 20)。在第二个中,您有一个常规空间,后面跟着一个不间断空格(unicode 0xA0)。在Excel中,您可以执行搜索并使用ALT + 0160作为搜索,并用空格字符替换来修复它。
另一个问题背后,是为什么SQL创建的字符与原始txt/csv文件非常相似? – Kush 2009-08-10 15:48:46
我怀疑是这样。在SQL获得它们之前,这些可能是非破坏性的空间。数据的原始来源是什么?如果它是在获取到csv文件之前从网页或单词中复制的,那么它很可能在非破坏空间的位置。在html中使用 相当常见。 – Cahlroisse 2009-08-10 16:01:23
这个特殊字符是 Degree°0176(ASCII) – Kush 2009-08-10 11:12:41