Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Drunk Sr. Member Откуда: Сообщений: 82 |
Поделитесь UDF или SP для преобразованя числового поля в строковый (руб. коп.). Или на худой случай направте в правильном направлении. |
12 ноя 04, 17:09 [1102897] Ответить | Цитировать Сообщить модератору |
Breakneck Member Откуда: Kiev Сообщений: 2454 |
А чего тут направлять? За представление данных должен отвечать клиент, а не сервер. Вот там и нужно это реализовывать |
||
12 ноя 04, 17:12 [1102903] Ответить | Цитировать Сообщить модератору |
злой программер Member Откуда: Сообщений: 226 |
Могу кинуть модулек на Delphi, а на SQL такое реализовывать, по моему изврат |
12 ноя 04, 17:27 [1102950] Ответить | Цитировать Сообщить модератору |
Taffy Member Откуда: Сообщений: 20501 |
Сообщение было отредактировано: 14 мар 19, 18:25 |
|
12 ноя 04, 17:52 [1103034] Ответить | Цитировать Сообщить модератору |
Drunk Sr. Member Откуда: Сообщений: 82 |
Благодарствую за ХП. |
14 ноя 04, 18:56 [1104612] Ответить | Цитировать Сообщить модератору |
Между сообщениями интервал более 1 года. |
MSSQLuserK1 Member Откуда: Сообщений: 14 |
Доброе время суток! Подскажите, пожалуйста При вызове: declare @m money = 62 declare @result varchar = 'рублей'; execute dbo.numeral @m, @result output print @result Выводит букву "Ш", некорректный вызов? |
30 янв 17, 11:02 [20160497] Ответить | Цитировать Сообщить модератору |
pkarklin Member Откуда: Москва (Муром) Сообщений: 74925 |
declare @result varchar Эквивалентно: declare @result varchar(1) |
||
30 янв 17, 13:20 [20161375] Ответить | Цитировать Сообщить модератору |
Между сообщениями интервал более 1 года. |
Dmitriy Bulanov Member Откуда: Сообщений: 2 |
Сообщение было отредактировано: 14 мар 19, 18:25 |
|
14 мар 19, 18:25 [21832923] Ответить | Цитировать Сообщить модератору |
AndrF Member Откуда: Сообщений: 2194 |
При желании - легко делается. Но на скорую руку найти не могу - это надо свою древнюю базу развертывать... Как вариант - можно сделать clr-функцию. Взяв за основу следующий пример (то же делал фиг знает когда):
Сообщение было отредактировано: 15 мар 19, 11:39 |
|||
15 мар 19, 10:18 [21833361] Ответить | Цитировать Сообщить модератору |
bamper78 Member Откуда: Сообщений: 120 |
Используйте функцию
Сообщение было отредактировано: 15 мар 19, 11:39 |
|
15 мар 19, 10:41 [21833389] Ответить | Цитировать Сообщить модератору |
Khrupchik Eugeny Member Откуда: Сообщений: 37 |
bamper78, Ну раз такая жара пошла, то лучше вообще так, и намного быстрее работает: SELECT n [ЧислоПрописью] from (SELECT n1000.n + n100.n + case when n10.n = ' десять' and n1.n != '' then case n1.n when ' два' then ' две' when ' четыре' then ' четыр' else n1.n end + 'надцать' else n10.n + n1.n END [n] ,n1.c + n10.c + n100.c + n1000.c [c] FROM (VALUES('',0),(' сто',100),(' двести',200),(' триста',300),(' четыреста',400),(' пятьсот',500),(' шестьсот',600),(' семьсот',700),(' восемьсот',800),(' девятьсот',900)) n100(n,c), (VALUES('',0),(' один',1),(' два',2),(' три',3),(' четыре',4),(' пять',5),(' шесть',6),(' семь',7),(' восемь',8),(' девять',9)) n1(n,c), (VALUES('',0),(' десять',10),(' двадцать',20),(' тридцать',30),(' сорок',40),(' пятьдесят',50),(' шестьдесят',60),(' семьдесят',70),(' восемьдесят',80),(' девяносто',90)) n10(n,c), (VALUES('',0),(' одна тысяча',1000),(' две тысячи',2000),(' три тысячи',3000),(' четыре тысячи',4000),(' пять тысяч',5000),(' шесть тысяч',6000),(' семь тысяч',7000),(' восемь тысяч',8000),(' девять тысяч',9000)) n1000(n,c) ) a WHERE c = 5234 --сюда написать число которое надо пропсью |
22 авг 19, 14:47 [21955567] Ответить | Цитировать Сообщить модератору |
Gator Member Откуда: Москва Сообщений: 14980 |
Khrupchik Eugeny, что делать с падежными окончаниями? |
22 авг 19, 16:46 [21955745] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |