我将一个平面文件导入 SQL 数据库,并将所有字段创建为 varchar(50)。我能够更改大多数字段的数据类型,但在权重字段中遇到错误。权重字段中的所有数据的总长度小于 6 个字符,并且是整数或小数。我都试过了:
UPDATE MAWB
SET Weight = CAST(Weight AS decimal(12,2))
和:
ALTER TABLE MAWB
ALTER COLUMN [Weight] decimal(10,2)
我总是收到错误:将数据类型 varchar 转换为数字时出错。
我已经使用以下方法检查了所有字段是否都被视为数字:
SELECT COUNT(*)
FROM MAWB
WHERE ISNUMERIC(Weight) = 0
为了安全起见,我也尝试过 LTRIM 和 RTRIM,但是当我尝试更改字段时仍然会出现错误。有谁知道还有什么可能导致此错误?