Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
09.01.2022, 21:08
|
|||
---|---|---|---|
|
|||
NLS_INITCAP и апостроф |
|||
#18+
Может кто знает. Можно исправить поведение NLS_INITCAP Код: plsql 1.
чтобы он выдавал правильно "Мар’ і на Горка", редактированием кодировки RUSSIAN? Сейчас он выдает "Мар’ І на Горка". ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.01.2022, 15:57
|
|||
---|---|---|---|
NLS_INITCAP и апостроф |
|||
#18+
SergiiW, АпострóфАпострóф (фр. apostrophe от др.-греч. ἀπόστροφος — «обращённый назад») — небуквенный орфографический знак в виде надстрочной запятой (’), штриха или любого другого похожего начертания, который употребляется в буквенном письме разных языков в различном назначении. NLS_INITCAPNLS_INITCAP returns char, with the first letter of each word in uppercase, all other letters in lowercase. Words are delimited by white space or characters that are not alphanumeric. То есть всё работает в соответствии с документацией, поскольку апостроф не является ни буквой, ни цифрой (not alphanumeric). Таким образом, в строке 'мар’іна горка' имеем три слова 'мар', 'іна' и 'горка'. Попробуйте действовать, например, так: Код: plsql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.01.2022, 19:15
|
|||
---|---|---|---|
|
|||
NLS_INITCAP и апостроф |
|||
#18+
SQL*Plus, Спасибо! Интересует только исправление NLS_INITCAP. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.01.2022, 19:25
|
|||
---|---|---|---|
|
|||
NLS_INITCAP и апостроф |
|||
#18+
Для этого нужно использовать коллейт, который считает апостроф буквой. То есть явно не русский. Например, чешский. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.01.2022, 19:44
|
|||
---|---|---|---|
NLS_INITCAP и апостроф |
|||
#18+
SergiiW SQL*Plus, Спасибо! Интересует только исправление NLS_INITCAP. Функцию NLS_INITCAP исправлять не нужно. Она работает именно так, как написано в документации. У французского программиста другая проблема: нет такой функции NLS_D_ARTAGNAN :-) Код: plsql 1. 2. 3.
Вариант решения возникшей у вас проблемы я привел выше. "Вам нужно ехать или нужны щашечки?" :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.01.2022, 19:48
|
|||
---|---|---|---|
NLS_INITCAP и апостроф |
|||
#18+
Dimitry Sibiryakov Для этого нужно использовать коллейт, который считает апостроф буквой. То есть явно не русский. Например, чешский. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.01.2022, 20:10
|
|||
---|---|---|---|
|
|||
NLS_INITCAP и апостроф |
|||
#18+
SQL*Plus Dimitry Sibiryakov Для этого нужно использовать коллейт Правила nls_comp = Linguistic сложнее. Там выделяют Contracting Characters, Expanding Characters, Context-Sensitive Characters вводят понятие Canonical Equivalence ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.01.2022, 20:21
|
|||
---|---|---|---|
|
|||
NLS_INITCAP и апостроф |
|||
#18+
SQL*Plus У французского программиста другая проблема d`Artagnan Настоящая проблема французского программиста - это объяснить английскому коллеге, что книгу про d'Artagnan, выпущенную издательством O'Reilly не следует читать at five o'clock :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.01.2022, 20:39
|
|||
---|---|---|---|
|
|||
NLS_INITCAP и апостроф |
|||
#18+
andrey_anonymous SQL*Plus пропущено... Апостроф - это по определению "небуквенный орфографический знак" Правила nls_comp = Linguistic сложнее. Там выделяют Contracting Characters, Expanding Characters, Context-Sensitive Characters вводят понятие Canonical Equivalence А функция NLS_INITCAP смотрит на все эти вещи проще. О чем и написано в документации. Буквы + цифры = "букво-цифры" (alphanumeric) Вся остальная хрень - это "не букво-цифры" (not alphanumeric), которые разделяют слова. :-) Все буквы перечислены в алфавите. Цифры в 10-тиричной системе мы используем: 0 1 2 3 4 5 6 7 8 9. Примеры из других языков с другими буквами и цифрами приветствуются. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.01.2022, 22:29
|
|||
---|---|---|---|
|
|||
NLS_INITCAP и апостроф |
|||
#18+
Běžťě do haje. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
10.01.2022, 22:54
|
|||
---|---|---|---|
|
|||
NLS_INITCAP и апостроф |
|||
#18+
SQL*Plus Апостроф - это по определению "небуквенный орфографический знак" Почему так решили? Что относится к буквенным символам? Есть определение? Я думал, что это определяется используемой кодировкой. Насколько мне известно, в некоторых странах, не только апостроф относиться к буквенным символам. Например, но "Мар’іна" это не два слова, а одно, даже если используется апостроф. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.01.2022, 09:38
|
|||
---|---|---|---|
NLS_INITCAP и апостроф |
|||
#18+
SQL*Plus АпострóфАпострóф (фр. apostrophe от др.-греч. ἀπόστροφος — «обращённый назад») — небуквенный орфографический знак в виде надстрочной запятой (’), штриха или любого другого похожего начертания, который употребляется в буквенном письме разных языков в различном назначении. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.01.2022, 19:36
|
|||
---|---|---|---|
|
|||
NLS_INITCAP и апостроф |
|||
#18+
SQL*Plus, Не думаю, что для Oracle Википедия (русская) является законом. Может есть ссылка на документы Oracle, что является буквенными знаками? К сожалению, я не нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.01.2022, 19:48
|
|||
---|---|---|---|
|
|||
NLS_INITCAP и апостроф |
|||
#18+
В Globalization Support Guide утверждают, что oracle rdbms поддерживает UCA. А NLS_INITCAP отличается от INITCAP тем, что дружит с Globalization Support, учитывая назначенный Collation в своей работе. Среди предустановленных Collation особенностей обработки апострофа я пока не увидел (даже в collations из группы Punctuation), но Locale Builder тоже никто не отменял, желающие могут проверить возможности NLS_% функций с его помощью. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.01.2022, 19:52
|
|||
---|---|---|---|
|
|||
NLS_INITCAP и апостроф |
|||
#18+
andrey_anonymous, Спасибо! Нужно разбираться с Locale Builder. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.01.2022, 20:47
|
|||
---|---|---|---|
NLS_INITCAP и апостроф |
|||
#18+
SergiiW SQL*Plus, Не думаю, что для Oracle Википедия (русская) является законом. Может есть ссылка на документы Oracle, что является буквенными знаками? К сожалению, я не нашел. Почитайте по теме википедию и источники, на которые она ссылается на любом другом языке. Буквы - это то, что составляет алфавит языка. В белорусском алфавите разве есть буква "апостроф"? Нету в нём такой буквы. https://ru.wikipedia.org/wiki/Белорусский_алфавит (Странно, но в википедии нет статьи про белорусские алфавиты на белорусском языке. :-( Вы уж изучите первый официальный язык страны, где имеется Мар’іна Горка. :-) Тут название написано на втором официальном языке. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.01.2022, 20:48
|
|||
---|---|---|---|
NLS_INITCAP и апостроф |
|||
#18+
SergiiW andrey_anonymous, Спасибо! Нужно разбираться с Locale Builder. Сначала поговорите с вашим руководителем и расскажите ему, как в будущем придется сопровождать эту "набилденную локаль" :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.01.2022, 21:14
|
|||
---|---|---|---|
|
|||
NLS_INITCAP и апостроф |
|||
#18+
SergiiWНужно разбираться с Locale Builder. Или просто использовать правильный апостроф: https://ru.wikipedia.org/wiki/Апостроф#Типографский_апостроф Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.01.2022, 22:01
|
|||
---|---|---|---|
|
|||
NLS_INITCAP и апостроф |
|||
#18+
Dimitry Sibiryakov Или просто использовать правильный апостроф: А если использовать "правильный" апостроф, то NLS_INITCAP начнет по другому работать? Википедия(ʼ) «modifier letter apostrophe» (модификатор буквы апостроф ), код U+02BC; используется в качестве небуквенного орфографического знака, то есть является частью слова и не разделяет его на два слова. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.01.2022, 22:31
|
|||
---|---|---|---|
NLS_INITCAP и апостроф |
|||
#18+
SergiiW А если использовать "правильный" апостроф, то NLS_INITCAP начнет по другому работать? Нет. Валерий Юринский все объяснил. INITCAP древняя функция. Вот REGEXP разницу понимает: INTCAP: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
REGEXP: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.01.2022, 23:28
|
|||
---|---|---|---|
NLS_INITCAP и апостроф |
|||
#18+
Dimitry Sibiryakov SergiiWНужно разбираться с Locale Builder. Или просто использовать правильный апостроф: https://ru.wikipedia.org/wiki/Апостроф#Типографский_апостроф Эксперименты с разными "неправильными" и "правильными" апострофами. Для изучения и размышления. Код: 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. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.01.2022, 03:05
|
|||
---|---|---|---|
|
|||
NLS_INITCAP и апостроф |
|||
#18+
SQL*Plus Код: plsql 1.
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=52&tablet=1&tid=1879614]: |
0ms |
get settings: |
19ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
47ms |
get topic data: |
4ms |
get forum data: |
1ms |
get page messages: |
450ms |
get tp. blocked users: |
1ms |
others: | 7ms |
total: | 537ms |
0 / 0 |