2016-03-08 61 views
0

我需要将成本转换为越南和印度尼西亚。将成本格式化为本地货币格式SQL

有没有什么方法可以使用国家货币的文化动态地格式化价值?

7859948,84至7,859,948.84

在此先感谢

+0

这是你应该在你的**前端**(例如你的网站或应用程序)中做的事 - 不在服务器上...... –

+0

谢谢@marc_s的回应。我将处理来自表中的数据并使用它从SQL服务器发送邮件。我在这个过程中没有任何其他**前端**前端' – Andhra

+0

仅仅因为你*可以*发送电子邮件出SQL Server并不意味着你*应该*在所有情况下。设置一个在SQL Server外部查询数据库的计划进程,然后格式化并发送电子邮件。 – alroc

回答

1

格式数据在表示层,而不是在数据库中。将其存储为数据库中的适当数据类型(可能为money),然后使用用户首选的文化设置在使用哪种应用程序向用户展示时使用正确的文化进行格式化。

如果你必须不要在数据库:

对于SQL Server 2008 R2和更早的版本,你必须使用一个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中执行它,它仍应该在表示层中完成。