我正在尝试在 Excel 中创建一个查询,在运行查询时提示用户输入参数。使用 MS Query 并通过 ODBC 连接到 Sybase 数据库。这是我的查询:
SELECT *
FROM myTable
WHERE myTable.myID = CAST( ? AS INTEGER)
这给了我一个错误:
[SYBASE][ODBC Sybase 驱动程序]数据库不允许负比例值。参数 1 错误
下面的查询工作正常
SELECT *
FROM myTable
WHERE myTable.myID = CAST( 676458 AS INTEGER)
强制转换是必需的,因为 sybase 不允许隐式转换并且 myID 是 NUMERIC。到目前为止我尝试过的
- Cast() 和 Convert()
- 具有强制转换和转换的不同类型,包括 NUMERIC、INT、BIGINT、FLOAT
- 在 Google 和 Stackexchange 中搜索错误没有发现任何有用的信息
- 搜索 sybase、excel 和 SQL Anywhere 文档并尝试不同的语法
我几乎被困住了。有没有人知道如何解决这个问题?