将成本格式化为本地货币格式SQL

时间:2016-03-08 13:42:40

标签: sql-server-2008

我需要将成本转换为越南和印度尼西亚。

我们有什么办法可以使用国家货币的文化动态格式化价值?

示例

7859948,84至7,859,948.84

提前致谢

1 个答案:

答案 0 :(得分:1)

在表示层而不是在数据库中格式化数据。将其作为数据库中的相应数据类型(可能是money)存储,然后使用用户首选的文化设置,在您用于向用户呈现的任何应用程序中使用正确的文化格式对其进行格式化。

如果必须在数据库中执行此操作:

对于SQL Server 2008R2及更早版本,您必须使用CLR功能。见this SO answer

可以使用FORMAT()vi-VN文化字符串从SQL Server 2012开始在T-SQL中完成。

select 7859948.84, format(7859948.84,'N','vi-VN');

产量7.859.948,84根据MS的文化设置,是越南数字的正确格式。

但即使您可以在较新版本的SQL Server中执行此操作,仍应在表示层中完成。