0

在这里,我有一个关于 SQL Server 和 SYBASE 数据转换的问题。

以71632.0638353154为例,在SQL Server和SYBASE中如何转换为71632.06?

我知道convert()SQL Server 和 SYBASE 中有一个函数,但是每次我尝试使用它来转换那个数字时,数据库 UI 都会抛出一个异常。

我使用 sybase UI 来执行下面的 SQL 实例:

select convert(varchar(30),convert(varchar(8),convert(money,71632.0638353154),1))

但这会导致此错误:

结果空间不足,无法将 MONEY 值 '71,632.06' 显式转换为 VARCHAR 字段。

有人会告诉我该怎么做吗?谢谢。

4

2 回答 2

1

我无法在 Sybase 中进行测试,但是

SELECT CONVERT(VARCHAR(30), CAST(71632.0638353154 AS MONEY),1)

在 SQL Server 中为我工作。

于 2012-06-21T11:06:22.610 回答
0

更通用的解决方案是:

select cast(71632.0638353154 as decimal(10, 2))

cast 函数是标准 SQL,可在大多数数据库中使用。DECIMAL 是一种内置数据类型。

于 2012-06-21T14:17:12.337 回答