当前位置: 首页 > 知识库问答 >
问题:

如何在SQL服务器和SYBASE中将71632.0638353154转换为71,632.06?

荆鸿畅
2023-03-14

这里我有一个关于SQLServer和SYBASE的数据转换问题。

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

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

我使用sybase UI执行以下SQL实例:

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

但这导致了这个错误:

结果空间不足,无法将货币值“71632.06”显式转换为VARCHAR字段。

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

共有2个答案

麻超
2023-03-14

更通用的解决方案是:

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

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

齐望
2023-03-14

我无法在Sybase进行测试但是

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

适用于我在SQL服务器。

 类似资料:
  • 问题内容: 我正在做这个 它给了我这个 但是我想要这个 请帮忙。 问题答案: 首先将其转换为十进制, SQLFiddle演示

  • 问题内容: 如何在SQL Server中将hh:mm:ss转换为hh:mm? 问题答案: 通常,时间戳集的 顺序不正确 ,这意味着您无法获得“最后的”时间戳,该时间戳的时间部分最多为分钟。 在中,将日期时间的时间部分保留为午夜之后的第二个小数部分,该“最后”时间戳记为,但这不能保证与其他存储方法的将来版本兼容。 这意味着您需要将您的状况分为两个状况,其中之一是下一分钟的状况: 该解决方案将有效地使

  • 问题内容: 我有一个客户端Web应用程序,其节点服务器非常小,可以访问客户端无法访问的某些数据。其中之一是扩展名为.xls的excel电子表格。 我正在尝试设置服务器以下载xls,将其转换为csv,然后将其发送回客户端。我已经完成了下载部分,而且我确定可以弄清楚“发回”部分,但是我终生无法找到一个很好的库来将xls转换为csv。 有人可以指出我要以一种简单的方式做到这一点的图书馆吗?excel文件

  • 问题内容: 我试图使用像这样的数字列表。 这是sql过程的一部分,变量’list_of_ids’是varchar,它包含如下所示的id:1、2、3、4、5 ........如何使用此列表和此查询 问题答案: 也尝试一下。这可能是更好的解决方案,因为它不需要创建任何其他功能。oracle regexp_substr会将逗号分隔的值拆分为不同的行,并传递给查询。

  • 我甚至尝试过直接分配 得到同样的结果。 编辑

  • 有这样的错误: [42000][257]从数据类型“NUMERIC”到“VARCHAR”的隐式转换 [42000][257]从数据类型“INT”到“VARCHAR”的隐式转换是