有没有办法让 SQL Server 将数字格式化为序数形式?

Dan*_*ams 6 sql-server-2008 sql-server

数据 1、2、3、4、11、21、99

我想获得第 1、第 2、第 3、第 11、第 21 和第 99 个

我可以推出自己的,但是否有任何内置于 SQL Server 的功能可以为我做到这一点?推论:我还将寻找将数字转换为单词的函数,例如:

72,451 -> 七万二千,四百五十一

并且希望它(如果存在)属于同一系列的格式化方法。

Wil*_*Wil 5

不,没有任何内置函数可以做到这一点。这应该在表示层而不是来自数据库的数据中处理。

编辑:基于“糟糕的表示层”的存在,如果这必须在数据库中完成,我建议创建一个 UDF 将值转换为序数或单词。它绝对不会漂亮。

来自评论:对于问题的第二部分,Daniel 使用了此处找到的脚本:

http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=86067