powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перевод суммы прописью: может есть у кого готовый SQL?
4 сообщений из 4, страница 1 из 1
Перевод суммы прописью: может есть у кого готовый SQL?
    #32011070
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может есть у кого, не охота время тратить, на Дельфях хватает исходников, а тут чего-то не найду
...
Рейтинг: 0 / 0
Перевод суммы прописью: может есть у кого готовый SQL?
    #32011099
Вот тут лежит:
http://www.gvu.newmail.ru
...
Рейтинг: 0 / 0
Перевод суммы прописью: может есть у кого готовый SQL?
    #32011147
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я так сделал(вроде я уже кидал сюда, но не нашел):

create function propis_s(
@sum money)
returns varchar(255)
AS
BEGIN
declare @s varchar(22), @o varchar(300)
select @s=str(@sum,15,2), @o=''
set @s=replace(@s,' ','0')
set @s=replace(@s,'.','0')

select @o=@o+rtrim(rtrim(' '+n.Word)+' '+c.Word)
from CalcWordsR c,NumberWordsR n, Millenium m
where n.Col=substring(@s,num,1)
and n.Row=case when (num % 3)=1 then 1
when (num % 3)=2 and substring(@s,num,2) not like '1[^0]' then 2
when (num % 3)=0 and substring(@s,num-1,2) like '1[^0]' then 3
when (num % 3)=0 and substring(@s,num-1,2) not like '1[^0]' and ((18 - num) / 3) in (1,3) then 4
when (num % 3)=0 and substring(@s,num-1,2) not like '1[^0]' and ((18 - num) / 3) in (2,4,5) then 5
else 0 end
and c.Row= (18 - num) / 3
and c.Col=case when (num % 3)<>0 then 0
when substring(@s,num-2,3) not like '%[^0]%' then 0
when substring(@s,num-1,1)=1 then 3
when substring(@s,num,1)=1 then 1
when substring(@s,num,1) in (2,3,4) then 2
else 3 end
and num between 2 and 15
if @s like '%00' select @o=@o+' ноль копеек'
return ltrim(@o)
END
GO

При этом должны быть таблицы Millenium (num int) с числами от 1 до 15 с класетрным индексом по ней и две таблицы с названиями чисел:
CREATE TABLE CalcWordsR (
Row int NOT NULL ,
Col int NOT NULL ,
Word varchar (40) NOT NULL
)
CREATE TABLE NumberWordsR (
Row int NOT NULL ,
Col int NOT NULL ,
Word varchar (15) NOT NULL
)

Значения в таблицах:

select * from CalcWordsR
Row Col Word
----------- ----------- ----------------------------------------
1 0
1 1 копейка
1 2 копейки
1 3 копеек
2 0
2 1 рубль
2 2 рубля
2 3 рублей
3 0
3 1 тысяча
3 2 тысячи
3 3 тысяч
4 0
4 1 миллион
4 2 миллиона
4 3 миллионов
5 0
5 1 миллиард
5 2 миллиарда
5 3 миллиардов

(20 row(s) affected)

select * from NumberWordsR
Row Col Word
----------- ----------- ---------------
1 0
1 1 сто
1 2 двести
1 3 триста
1 4 четыреста
1 5 пятьсот
1 6 шестьсот
1 7 семьсот
1 8 восемьсот
1 9 девятьсот
2 0
2 1 десять
2 2 двадцать
2 3 тридцать
2 4 сорок
2 5 пятьдесят
2 6 шестьдесят
2 7 семьдесят
2 8 восемьдесят
2 9 девяносто
3 0
3 1 одиннадцать
3 2 двенадцать
3 3 тринадцать
3 4 четырнадцать
3 5 пятнадцать
3 6 шестнадцать
3 7 семнадцать
3 8 восемнадцать
3 9 девятнадцать
4 0
4 1 одна
4 2 две
4 3 три
4 4 четыре
4 5 пять
4 6 шесть
4 7 семь
4 8 восемь
4 9 девять
5 0
5 1 один
5 2 два
5 3 три
5 4 четыре
5 5 пять
5 6 шесть
5 7 семь
5 8 восемь
5 9 девять
6 0
6 1 одно
6 2 два
6 3 три
6 4 четыре
6 5 пять
6 6 шесть
6 7 семь
6 8 восемь
6 9 девять

(60 row(s) affected)
...
Рейтинг: 0 / 0
Перевод суммы прописью: может есть у кого готовый SQL?
    #32011207
Фотография tygra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, все работает, брал первый линк.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Перевод суммы прописью: может есть у кого готовый SQL?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]