gpt4 book ai didi

SQL Server CAST/CONVERT 到特定于数字文化的

转载 作者:行者123 更新时间:2023-12-01 12:53:37 25 4
gpt4 key购买 nike

我有 Oracle 背景,我无法相信 SQL Server 是如何让我为如此微不足道的问题付出如此艰难的时光。

我只想将 varchar 列中的数字解析为数字列。问题是,数字不是美式格式,而是德式格式。也就是说,小数点和数字组分隔符是互换的。

示例:

1.767,13 equals one thousand and seven hundred ...

我浏览了每一篇 MSDN 文章。 CAST 不接受任何附加参数。 CONVERT 可以采用样式,但似乎只适用于日期/时间和货币转换。此外,我发现 TRY_PARSE 采用 culture 参数,但在 2008 版本中似乎尚不可用。

我想出了一个笨拙的解决方案,但这不可能!

cast(replace(replace([TOTALVALUE],'.',''), ',','.') as numeric(20,2))

首先删除数字组分隔符,然后将小数点从逗号更改为点。它可以工作,但它是否健壮等。

感谢评论和回答!

最佳答案

很抱歉让您失望了

cast(replace(replace([TOTALVALUE],'.',''), ',','.') as numeric(20,2))

是做到这一点的方法。

关于SQL Server CAST/CONVERT 到特定于数字文化的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10830350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com