Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Интересная задачка pl\sql / 23 сообщений из 23, страница 1 из 1
15.11.2018, 18:22
    #39733745
Vradiy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
В общем есть число дробное к примеру 12345,6789 нужно его перевести в строку но использовать можно только математические функции.к примеру есть строка str='' to_char естественно использовать нельзя) какие варианты?)
...
Рейтинг: 0 / 0
15.11.2018, 18:44
    #39733761
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
Vradiyк примеру есть строка str=''К чему это, чудак?Vradiyto_char естественно использовать нельзя) какие варианты?
Код: plsql
1.
s := n;



К сожалению, не банят за наглую тупость в названии тем, хоть это и вредит форуму.
...
Рейтинг: 0 / 0
15.11.2018, 19:07
    #39733774
Lary Denis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
Vradiy, не слушай Элика, он сноб.
Задачка действительно интересная. Покажи свое решение, с помощью "математической" функции.

Ничего умнее не придумал
:

Код: plsql
1.
2.
3.
4.
select 
  dump(least('Elic', 123.8)), 
  dump(123.8)
from dual;
...
Рейтинг: 0 / 0
15.11.2018, 19:32
    #39733789
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
Lary DenisНичего умнее не придумал least(varchar2) строковая функция.
...
Рейтинг: 0 / 0
15.11.2018, 19:36
    #39733790
Lary Denis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
-2-, я уже не знал, как автору угодить. Вот жду от него решения.
...
Рейтинг: 0 / 0
16.11.2018, 09:54
    #39733890
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
Vradiyможно только математические функции

ик, огласите весь список, пжалста, ик


А если серьёзно, то такая постановка откровенный бред. Так или иначе преобразовывать типы придётся и разумнее использовать для этого уже существующий велосипед функционал.
...
Рейтинг: 0 / 0
16.11.2018, 09:59
    #39733893
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
Код: plsql
1.
2.
trunc/round
if p_value > 10000 then
...
Рейтинг: 0 / 0
16.11.2018, 10:30
    #39733917
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
DECLARE
    v_value     NUMBER := 1123;
    v_val       NUMBER := 0;
    v_str_value NUMBER := NULL;
    v_str NUMBER := NULL;
BEGIN
    WHILE v_value > 0 LOOP
        v_val := v_value - TRUNC(v_value / 10) * 10;
        WITH T AS
        (
        SELECT 0 i, '0's FROM dual UNION ALL
        SELECT 1, '1' FROM dual UNION ALL
        SELECT 2, '2' FROM dual UNION ALL
        SELECT 3, '3' FROM dual UNION ALL
        SELECT 4, '4' FROM dual UNION ALL
        SELECT 5, '5' FROM dual UNION ALL
        SELECT 6, '6' FROM dual UNION ALL
        SELECT 7, '7' FROM dual UNION ALL
        SELECT 8, '9' FROM dual UNION ALL
        SELECT 9, '9' FROM dual
        )
        SELECT s INTO v_str FROM T WHERE i = v_val;
        v_str_value := v_str || v_str_value;
        v_value := TRUNC(v_value / 10);
        DBMS_OUTPUT.put_line(v_str_value);
    END LOOP;
END;
...
Рейтинг: 0 / 0
16.11.2018, 10:51
    #39733934
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
andreymx,
авторесть число дробное к примеру 12345,6789
.....
stax
...
Рейтинг: 0 / 0
16.11.2018, 10:54
    #39733939
env
env
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
Stax,

+ остаток от деления на 1 и подбор порядка, дальше тот же код
...
Рейтинг: 0 / 0
16.11.2018, 10:54
    #39733940
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
Staxandreymx,
авторесть число дробное к примеру 12345,6789
.....
staxдумаю, доработка не составит большого труда :)
...
Рейтинг: 0 / 0
16.11.2018, 11:04
    #39733947
MaximaXXL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
andreymx
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
DECLARE
    v_value     NUMBER := 1123;
    v_val       NUMBER := 0;
    v_str_value NUMBER := NULL;
    v_str NUMBER := NULL;
BEGIN
    WHILE v_value > 0 LOOP
        v_val := v_value - TRUNC(v_value / 10) * 10;
        WITH T AS
        (
        SELECT 0 i, '0's FROM dual UNION ALL
        SELECT 1, '1' FROM dual UNION ALL
        SELECT 2, '2' FROM dual UNION ALL
        SELECT 3, '3' FROM dual UNION ALL
        SELECT 4, '4' FROM dual UNION ALL
        SELECT 5, '5' FROM dual UNION ALL
        SELECT 6, '6' FROM dual UNION ALL
        SELECT 7, '7' FROM dual UNION ALL
        SELECT 8, '9' FROM dual UNION ALL
        SELECT 9, '9' FROM dual
        )
        SELECT s INTO v_str FROM T WHERE i = v_val;
        v_str_value := v_str || v_str_value;
        v_value := TRUNC(v_value / 10);
        DBMS_OUTPUT.put_line(v_str_value);
    END LOOP;
END;



А это заложено чтоб проверить тестировшиков
...
Рейтинг: 0 / 0
16.11.2018, 11:12
    #39733956
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
andreymxдоработка не составит большого трудаА смысл при все равно использовании присвоения нагромождать что-то еще.
...
Рейтинг: 0 / 0
16.11.2018, 16:01
    #39734222
EvgeniaMakarova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
Vradiy, Вы делаете какое-то тестовое задание на собеседовании?))
...
Рейтинг: 0 / 0
16.11.2018, 16:02
    #39734223
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
EvgeniaMakarovaVradiy, Вы делаете какое-то тестовое задание на собеседовании?))Женя, это ты ему задание выдала?
...
Рейтинг: 0 / 0
16.11.2018, 16:14
    #39734236
EvgeniaMakarova
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
andreymx,

не,не давала. Просто подумалось что в реальной жизни такой задачи не могло бы возникнуть.
...
Рейтинг: 0 / 0
16.11.2018, 16:19
    #39734243
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
EvgeniaMakarovaandreymx,

не,не давала. Просто подумалось что в реальной жизни такой задачи не могло бы возникнуть.я в 1989 писал вычисление квадратного корня на ассемблере
...
Рейтинг: 0 / 0
16.11.2018, 16:38
    #39734257
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
andreymxEvgeniaMakarovaandreymx,
не,не давала. Просто подумалось что в реальной жизни такой задачи не могло бы возникнуть.я в 1989 писал вычисление квадратного корня на ассемблере
И какое отношение это вполне себе вменяемое занятие имеет к поставленной задаче?
...
Рейтинг: 0 / 0
16.11.2018, 16:43
    #39734262
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
andreymxя в 1989 писал вычисление квадратного корня на ассемблереВ эпоху 8086 и pdp-11 без матсопроцессора корень вычисляли через ряды чудовищно долго. Тогда как для многих задач достаточно целочисленного значения. Двоичным столбиком результат вычисляется за несколько базовых команд. Так что задача была достаточно популярна, интернета не было поделиться результатами.
...
Рейтинг: 0 / 0
16.11.2018, 16:49
    #39734268
MaximaXXL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
-2-,

Федо был, но там дождаться вразумительного совета/ответа - свое написать было быстрее
...
Рейтинг: 0 / 0
16.11.2018, 17:11
    #39734281
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
MaximaXXLФедо былВ 89м в СССР еще не было. У организаций не было таких задач, а в домашних условиях не было модемов. Хотя первые доступные Радио-86 читали и писали данные как аудио на магнитофон, но в отсутствие второго канала связи для синхронизации действий, довести эксперимент до рабочего было проблематично.
...
Рейтинг: 0 / 0
17.11.2018, 12:36
    #39734506
andreymx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
EvgeniaMakarovaandreymx,

не,не давала. Просто подумалось что в реальной жизни такой задачи не могло бы возникнуть.ведь кто-то же пишет всякие FloatToStrFormat и IntToHex
...
Рейтинг: 0 / 0
17.11.2018, 18:56
    #39734610
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Интересная задачка pl\sql
andreymxведь кто-то же пишет всякие FloatToStrFormat и IntToHexБиблиотечные функции написаны до нас. Если кому-то задают их повторить, то это их проблемы, а не форума.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Интересная задачка pl\sql / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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