我正在返工从Access数据库到MS SQL 2008数据库的Delphi项目。
ADODataSet中的旧CommandText字符串看起来
SELECT SUM (Cost) FROM MTR它不适用于新数据库。错误“操作数数据类型nvarchar对于sum运算符无效。”
我在网络上搜索了各种选项,但都指向一个-“将varchar数据类型转换为浮点型时出错”。例如:
SELECT SUM (Cost) FROM (SELECT CAST (REPLACE ('Cost', 'NULL', '0') AS FLOAT) AS Cost) AS MTR我真心希望您的帮助!
发布于 2020-06-05 12:22:46
表MTR中的列Cost在MSSQL数据库中的类型错误。它应该是FLOAT、DECIMAL、MONEY或其他数字类型,而不是nvarchar (这可能是从Access到nvarchar自动DB模式转换的结果)。一旦您要更改列类型,原始的SQL SELECT SUM (Cost) FROM MTR就可以工作了。
https://stackoverflow.com/questions/62207442
复制相似问题