Разделитель тысяч (.) и десятичный знак с, в SQL sybase

#numbers #format #sybase

#числа #формат #sybase

Вопрос:

У меня возникла проблема, связанная с тем, что я должен форматировать любое число в следующем стиле в SQL (Sybase).

5123456789,99 —> 5.123.456.789,99

Единственный способ, который я нашел, был:

 select convert(varchar, cast(5123456789.99 as money), 1) --> 5,123,456,789.99
 

но это совсем наоборот 🙁
Возможно ли каким-либо образом получить оператор тысячи с точкой вместо запятой?
Большое вам спасибо!

Ответ №1:

Это должно сработать:

 SELECT REPLACE(
   REPLACE(
       REPLACE(
           CONVERT(varchar, CONVERT(money, 5123456789.99), 1), ',', ' '
       ), '.', ','
   ), ' ', '.'
);
 

Хотя это не очень красиво.

Комментарии:

1. Большое вам спасибо. Вот и все! Я подумал, что может быть что-то лучше или что-то проще. Я также думал об изменении языковых настроек на сайте Unix, но я там ничего не нашел.