powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Убрать код неразрывного пробела
7 сообщений из 7, страница 1 из 1
Убрать код неразрывного пробела
    #40081408
Фотография wsnet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день, получил в базе из Excel данные с неразрывным пробелом - chr(160), нужно преобразовать в chr(32).
Как это выполнить?
Команда:
Код: plsql
1.
select dump(replace(chr(160), chr(32))) from dual;



Не преобразовывает.
...
Рейтинг: 0 / 0
Убрать код неразрывного пробела
    #40081420
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая у вас кодировка базы?
Код: plaintext
1.
SELECT * FROM nls_database_parameters
WHERE parameter LIKE 'NLS_%CHARACTERSET';

Покажите для строки, где есть этот самый "неразрывным пробелом" результат выполнения

Код: plaintext
SELECT my_col, DUMP(my_col) FROM my_tab WHERE ...
...
Рейтинг: 0 / 0
Убрать код неразрывного пробела
    #40081421
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wsnet,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SQL> ed
Wrote file afiedt.buf

  1* select dump(replace('111'||chr(160)||'222', chr(160),chr(32))) from dual
SQL> /

DUMP(REPLACE('111'||CHR(160)||'22
---------------------------------
Typ=1 Len=7: 49,49,49,32,50,50,50

SQL>



.....
stax
...
Рейтинг: 0 / 0
Убрать код неразрывного пробела
    #40081427
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax
wsnet,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL> ed
Wrote file afiedt.buf

  1* select dump(replace('111'||chr(160)||'222', chr(160),chr(32))) from dual
SQL> /

DUMP(REPLACE('111'||CHR(160)||'22
---------------------------------
Typ=1 Len=7: 49,49,49,32,50,50,50



Какая у вас кодировка базы?

Код: plaintext
1.
SELECT * FROM nls_database_parameters
WHERE parameter LIKE 'NLS_%CHARACTERSET';
...
Рейтинг: 0 / 0
Убрать код неразрывного пробела
    #40081428
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*Plus,

CL8MSWIN1251

.....
stax
...
Рейтинг: 0 / 0
Убрать код неразрывного пробела
    #40081436
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax
SQL*Plus,

CL8MSWIN1251

.....
stax


Вот-вот!
А у базы топикстартёра кодировка AL32UTF8, я так думаю.
...
Рейтинг: 0 / 0
Убрать код неразрывного пробела
    #40081447
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
-- LANG=C.UTF-8
-- NLS_LANG=.UTF8
-- DB NLS_CHARACTERSET=AL32UTF8
SQL> 
with t(s) as (
select '111'||chr(49824)||'222' from dual
)
select ''''||s||'''::'''||replace(s,chr(49824),chr(32))||'''::'||dump(s,16)||'::'||dump(replace(s,chr(49824),chr(32)),16) as rd from t
/

RD
----------------------------------------------------------------------------------------------------
'111 222'::'111 222'::Typ=1 Len=8: 31,31,31,c2,a0,32,32,32::Typ=1 Len=7: 31,31,31,20,32,32,32
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Убрать код неразрывного пробела
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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