SQL将金额转换为每个数字的单词(包括美元、小数和逗号)



我正试图通过oracle SQL将大量美元金额转换为每个数字的单词。例如:$5555555555.55="美元五五五逗号五五逗号五五五句点五五"。

我尝试了Julian Date版本的将数字转换为单词,但它只会上升到一万位,而不是更大。

请帮忙。

您可以使用嵌套替换:

select replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(col, '$', 'dollar '
                                                                                                      ), ',', 'comma '
                                                                                              ), '0', 'zero '
. . .                                                                                                                                     

Results Image好的,我可能有语法错误,但它在我的结果中强制了一个奇数列。这是我的代码:

    SELECT SUM (amount) AS amount,
   REPLACE (
      REPLACE (
         REPLACE (
            REPLACE (
               REPLACE (
                  REPLACE (
                     REPLACE (
                        REPLACE (
                           REPLACE (
                              REPLACE (
                                 REPLACE (
                                    REPLACE (SUM (amount),
                                             '$',
                                             'dollar '),
                                    ',',
                                    'comma '),
                                 '.',
                                 'period '),
                              '0',
                              'zero '),
                           '1',
                           'one '),
                        '2',
                        'two '),
                     '3',
                     'three '),
                  '4',
                  'four '),
               '5',
               'five '),
            '6',
            'six '),
         '7',
         'seven '),
      '8',
      'eight '),
   '9',
   'nine '

最新更新