【问题标题】:Convert a number in Words with CAMA (number,number) [duplicate]使用CAMA(数字,数字)转换单词中的数字[重复]
【发布时间】:2019-02-12 09:02:02
【问题描述】:

我需要这方面的帮助,因为我想阅读下面示例中的数字。

原值:3 458,98

返回值:

TROIS MILLE QUATRE CENT CINQUANTE HUIT EURO QUATRE VINGT DIX HUIT CENTIMES

【问题讨论】:

标签: sql sql-server tsql


【解决方案1】:

类似的东西:

DECLARE @numbers VARCHAR(50) = '3458.98'
        , @WordsString varchar(max)

SELECT @WordsString = COALESCE(@WordsString + ', ', '')  + o.word
FROM 
(
SELECT 
CASE WHEN q.ch NOT LIKE '%[^0-9]%' AND q.ch = 3 THEN ' THREE'    
     WHEN q.ch NOT LIKE '%[^0-9]%' AND q.ch = 4 THEN ' FOUR'    
     WHEN q.ch NOT LIKE '%[^0-9]%' AND q.ch = 5 THEN ' FIVE'    
     WHEN q.ch NOT LIKE '%[^0-9]%' AND q.ch = 8 THEN ' EIGHT'    
     WHEN q.ch NOT LIKE '%[^0-9]%' AND q.ch = 9 THEN ' NINE'    
     ELSE Q.ch
   END word
FROM 
(select substring(a.b, v.number+1, 1) ch
from (select @numbers b) a
join master..spt_values v on v.number < len(a.b)
where v.type = 'P'
)q
)o

SELECT @WordsString

输出:

 THREE,  FOUR,  FIVE,  EIGHT, .,  NINE,  EIGHT

【讨论】:

  • 类似的东西,但我真正需要的是这个:输出:3458 $ 98 CENTS
  • @Chaimae 对你有用吗?随时问任何问题。如果您认为回复对您有帮助,那么您可以投票或将回复标记为答案,以简化其他用户的未来搜索。请阅读此meta.stackexchange.com/questions/5234/…
猜你喜欢
  • 2020-02-17
  • 1970-01-01
  • 2011-02-13
  • 1970-01-01
  • 1970-01-01
  • 2015-10-06
  • 1970-01-01
  • 2016-07-12
相关资源
最近更新 更多