【发布时间】:2011-09-27 19:32:32
【问题描述】:
首先抱歉英语不好。
我想进行以下查询:“select top 1 NumeroLote from tblLote where convert(numeric(12), Documento)=28405”
“Documento”的数据存储在 varchar 字段中,有时记录为“002008”或“2008”...这就是我尝试使用数字的原因。
它在 sql server 2008 上工作,但是当我使用 Provider="sqloledb" 和 Microsoft ActiveX Data Objects 2.0 库从 vb6 使用它时,我收到以下错误:“numeric is not a known function name. Microsoft Ole Db provider for sql 服务器”。
你知道一些替代方案吗,我只能想到使用“like”。
编辑:Documento 可能是 varchar(12)
答案:大整数
非常感谢您的宝贵时间!
【问题讨论】:
-
试试
CONVERT(DECIMAL(12, 0), DocumentNo) = ... -
得到相同的消息十进制不是可识别的函数名称。 :(
-
这一切都引出了“为什么数据库列输入不正确?”的问题......
标签: sql-server vb6 numeric