|
|
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousи таки действительно - не обязательно: как задать нлс параметры для TO_NUMBER не указывая маску? .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 15:17 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
StaxElic, спросил пробовол ли to_number, я ответил пробовал, но мне неудобноТы попробовал неправильно. А автор вообще никак не начал пробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 15:28 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousboobyкакой вообще смысл этого решения? см. первое сообщение топика. ага, спасибо. вроде понял. без учета возможности присутствия "разделителей разрядов" что-то такое без replace можно предложить: Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 15:36 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
Staxавторto_number, чудак , не пробовал? не вижу там намека на пробование друхих ф-ций А в ЭТОМ ответе оно и не требовалось - для решения конкретной проблемы преобразования конкретной строки в число достаточно to_number с маской формата и, возможно, nls-параметром Далее суматоху вносит Stax: Staxавтор чтобы задать нлс параметры для TO_NUMBER необходимо указывать маску, что вызывет неудобства ответа в Код: plsql 1. не нашел А я нашел. Не поленился сделать тесткейс и представить. "Ручник" же выражался в попытках использовать fmd в to_number непосредственно. Однако, согласно Staxя догадывался как получить 7012345678 начинаю подозревать, что аккаунт Stax взломан каким-то троллем :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 15:51 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousДалее суматоху вносит Stax: начинаю подозревать, что аккаунт Stax взломан каким-то троллем :) не взломан я не считаю ето суматохой повторюсь мне не удобно, что при использовании to_number c нлс параметром надо указывать маску ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 18:16 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
ElicStaxElic, спросил пробовол ли to_number, я ответил пробовал, но мне неудобноТы попробовал неправильно. А автор вообще никак не начал пробовать. я попробовал (может и неправильно 21196907 ) решить задачу пользуя to_number , мне не понравилось решение оракля для третьего параметра ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 18:20 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
booby, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. авторкак получить 7012345678 ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 18:23 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
Без маски: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. так удобней? ))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2018, 18:44 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
Fogelтак удобней? ))))) xml не хватает ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2018, 12:00 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
Staxbooby, Код: plsql 1. 2. 3. 4. авторкак получить 7012345678 ..... stax это воазращает к вопросу - кто такая 7012345678. Если оно число, то to_number и точка, а если она строка - то полученное число требует обратного форматирования. здесь до предела в 64 знака работает TM9, дальше вопрос о возможной пользовательской функции. Код: plsql 1. 2. 3. 4. 5. 6. но 63 степень перескочит на научное представление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2018, 23:00 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
booby, TRANSLATE оставляет в покое символы не в FROM, посему достаточно: Код: plaintext 1. 2. 3. 4. 5. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2018, 23:48 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
SY, ок. Это пример простого вопроса на работу интуиции. но пробел во from я бы, вероятно, оставил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 00:28 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
boobyэто воазращает к вопросу - кто такая 7012345678. Если оно число, то to_number и точка, to_number никак не превращает строку '7.012345678E9' в "как получить 7012345678 в виде varchar2 и number" авторTO_NUMBER converts expr to a value of NUMBER datatype и точка to_number превращает '7.012345678E9' примерно в такое Код: plsql 1. 2. 3. 4. 5. 6. причем если речь о хранении на диске, то еще зависит и от ОС ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 11:27 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
Stax, booby исходит из того что числовая строка может иметь только разделитель дробной части и не может иметь разделитель груп (group separator). Нам неизвестно какой (. или ,) разделитель дробной части использован в числовой строке. А вот TO_CHAR(0,FMD) дает нам разделитель дробной части текущей сессии и TRANSLATE преобразует разделитель дробной части числовой строки в разделитель дробной части текущей сессии. В результате TO_NUMBER преобразует числовую строку в число а TO_CHAR с форматом TM9 преобразует число в строку используя экспоненциальную запись только если вывод > 64 знаков. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 15:19 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
SYStax, Нам неизвестно какой (. или ,) разделитель дробной части использован в числовой строке. SY. известно (крапка) авторэто значение 7 . 012345678E9 хранится в поле varchar2 ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 15:32 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
Staxизвестно Ну если ты хочешь делать вывод по одному примеру, то да известно. Но сути не меняет - нужно преобразовать точку в разделитель дробной части текущей сессии. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 15:43 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
SYStaxизвестно Ну если ты хочешь делать вывод по одному примеру, то да известно. Но сути не меняет - нужно преобразовать точку в разделитель дробной части текущей сессии. SY. можно не преобразовывать, если указать маску мы ж решаем конкретное задание ( 21195590 ) зы вместо rpad, мне кажется проще to_char(0,'fmd')||to_char(0,'fmd') с учетом что разделитель групп не запятая, а десятичный разднлитель . или , .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 15:57 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
Staxвместо rpad, мне кажется проще to_char(0,'fmd')||to_char(0,'fmd')Вместо replace и translate проще regexp_replace. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 15:59 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
ElicВместо replace и translate проще regexp_replace. Проще, о медленнее. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 16:03 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
ElicStaxвместо rpad, мне кажется проще to_char(0,'fmd')||to_char(0,'fmd')Вместо replace и translate проще regexp_replace. ходят шлюхи что regexp_replace более тормозной (да и его еще и знать/понимать надо) вопрос в другом, точно известно что в строке точка, если указать маску (или NLS_NUMERIC_CHARACTERS) то ничего менять в строке не надо ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 16:05 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
SYElicВместо replace и translate проще regexp_replace. Проще, о медленнее. SY. мне кажется что translate(s,'.',to_char(0,fmd)) проще ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 16:09 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
SYПроще, о медленнее.Постоянно параноидально "оптимизировать" в ущерб простоте/сопровождаемости - это коробком спичек "спасать" лес. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 16:09 |
|
||
|
перевод 7.012345678E9 в varchar2 и в number
|
|||
|---|---|---|---|
|
#18+
ElicПостоянно параноидально "оптимизировать" в ущерб простоте/сопровождаемости - это коробком спичек "спасать" лес. Ну и чем Код: plsql 1. так проще/сопровождаем чем Код: plsql 1. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2018, 16:16 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39603271&tid=1884402]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
153ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
85ms |
get tp. blocked users: |
2ms |
| others: | 259ms |
| total: | 551ms |

| 0 / 0 |
