Sql server 2008 r2 VFP spt查询SQLServer2008 R2

Sql server 2008 r2 VFP spt查询SQLServer2008 R2,sql-server-2008-r2,visual-foxpro,Sql Server 2008 R2,Visual Foxpro,我必须支持SqlServer2008 R2后端。在下面的SQL语句中 lcSql = "SELECT field1, field2, 00000.00 as CalcField FROM myTable" SqlExec(lnHandle,lcSql,"csrMyTable") 在以前的版本(包括2008年)中,CalcField将作为N(8,2)返回,但对于R2,它将作为N(4,2)返回 我使用此字段进行进一步计算,然后将calc值填充到CalcField中。现在,当CalcField太小而

我必须支持SqlServer2008 R2后端。在下面的SQL语句中

lcSql = "SELECT field1, field2, 00000.00 as CalcField FROM myTable"
SqlExec(lnHandle,lcSql,"csrMyTable")
在以前的版本(包括2008年)中,CalcField将作为N(8,2)返回,但对于R2,它将作为N(4,2)返回

我使用此字段进行进一步计算,然后将calc值填充到CalcField中。现在,当CalcField太小而无法容纳该值时,这是一个问题

我已考虑发出

lcSql = "SELECT field1, field2, 99999.99 as CalcField FROM myTable"
SqlExec(lnHandle,lcSql,"csrMyTable")

SELECT csrMyTable
REPLACE ALL CalcField WITH 0
我想知道是否有人有不同的解决办法。我在整个系统中都使用它来生成报告、显示等,因此需要进行相当大的更改

谢谢

试着用CAST(0.00 AS N(8,2))作为CalcField

lcSql = "SELECT field1, field2, CAST(0.00 AS N(8,2)) as CalcField FROM myTable"
SqlExec(lnHandle,lcSql,"csrMyTable")