2016-09-28 31 views
0

加载一个.csv文件后,我想转换一个VARCHAR(50)列('gross_unit_price'),其中包含各种正数和负数十进制数(例如。-165.65或245等。 )到DECIMAL(10,2)以应用各种功能。varchar转换为十进制数返回'0'

原始的.csv编码在UCS-2 LE BOM中。

以下查询返回'0.00'而不是实际的小数。

SELECT CAST(gross_unit_price为十进制(10,2))AS RESULT FROM vbq-sales

+2

mmmhh ..为什么你的列只包含十进制数字varchar? –

+1

,否则数据不会加载正确的信息。 – SamanthaAlexandria

+0

听起来像是你的加载程序有问题。 – Barmar

回答

0

OK乡亲我找到了答案:原来的文件进行编码UCS2。所以我不得不重新编码为UTF8,然后功能工作。

谢谢你帮我找到解决方案。 Barmar和Rick。