小数点分隔符的转换 - DB2 SQL

发布于 2025-01-09 08:34:11 字数 428 浏览 0 评论 0原文

我想将 DB2 SQL 中带有“,”逗号小数分隔符的双值列转换为“.”点小数分隔符。我的本地设置是德语。由于涉及许多应用程序,我无法更改数据库设置。

例如:列值=0,81234 我希望它显示为0.81234。

SELECT CAST(CAST(COLUMNNAME AS DECIMAL(8,2)) AS VARCHAR(25)) 

我尝试先将其转换为decimal(8,2),然后再转换为varchar。结果为 0.81(如预期的那样带有“.”)。但我需要小数点分隔符右边的所有数字,例如 0.81234。因此,我尝试使用十进制(7,6),这会导致SQL0413N OVERFLOW OCCURRED DURING NUMBER DATA TYPE CONVERSION错误。

还有其他方法可以将小数分隔符显示为“.”吗?

I want to convert a double value column in DB2 SQL with ',' comma decimal separator to '.' dot decimal separator. My local settings are German. I can't change the DB settings since many applications are involved.

Eg : column value =0,81234 I want it to be displayed as 0.81234.

SELECT CAST(CAST(COLUMNNAME AS DECIMAL(8,2)) AS VARCHAR(25)) 

I tried converting it to decimal(8,2) first and then to varchar. This results in 0.81 (with '.' as expected). But I need all the numbers right of the decimal separator like 0.81234. So, I tried with decimal(7,6) which results in SQL0413N OVERFLOW OCCURRED DURING NUMBER DATA TYPE CONVERSION error.

Is there any other way to display the decimal separator as '.'?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

对于数字列,分隔符实际上并不存储在数据库中。

配置您用来查看数据的任何工具以使用您选择的分隔符。

您可以选择运行
设置选项 decmpt = *PERIOD; 。

在运行选择之前

The separator is not actually stored in the DB for numeric columns.

Configure whatever tool you are using to look at the data to use your separator of choice.

Optionally you can run
set option decmpt = *PERIOD;

before running your select.

青柠芒果 2025-01-16 08:34:11

如果您使用 JDBC,您可以通过调整连接字符串来修改它。只需添加此

:decimalSeparator=1;

点作为小数分隔符或添加 2 作为逗号作为小数分隔符

if you use JDBC you can modify it by adjusting your Connection string. Just add this

:decimalSeparator=1;

for point as decimal separator or 2 for comma as decimal separator

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文