Как получить не числовые или буквенные символы в поле таблицы на HANA - PullRequest
0 голосов
/ 30 апреля 2018

Сначала немного контекста: Я работаю с DataServices, и у меня есть работа, которая берет информацию из представления расчета в HANA и переносит ее в файл .csv. У нас были некоторые проблемы с полем, в котором не указывалось полное имя клиента, поэтому нам пришлось объединить имя и фамилию. Проблема в том, что после этого мы получили ошибку в DS: «-10427 Преобразование параметра / столбца (8) из типа данных VARCHAR1 в ASCII завершилось неудачно». Я читал вокруг, и я понимаю, что это происходит, потому что в этом конкретном поле есть какой-то персонаж, который вызывает ошибку, но я не знаю, как я мог ее получить. Мой функциональный подход был бы что-то вроде

select characters_that_are_not_letters_nor_numbers_in_the_field from CV

и оттуда попытайтесь изменить возможные конфликтующие символы в резюме, чтобы они не стали проблемой.

Есть идеи, как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

Вы можете использовать Функция регулярного выражения SQLScript LOCATE_REGEXPR для поиска символов, соответствующих предоставленному регулярному выражению

Например, чтобы найти первый числовой символ в строке, разработчики могут использовать

locate_regexpr(START '[\p{N}]' IN :string )

Я не уверен, есть ли короткое выражение для специальных символов, но вы можете исключить буквы p {L} и числовые символы p {N} для соответствия специальным символам, таким как знаки препинания и т. Д.

0 голосов
/ 01 мая 2018

Сообщение об ошибке означает, что на входе есть символы, которые нельзя представить как ASCII символов. Скорее всего, эти символы UNICODE символов.

Наиболее распространенный и подходящий ответ на такую ​​проблему, особенно в отношении реальных данных, таких как names , - это пойти и разрешить символы UNICODE .

Этого легко достичь, используя правильный тип данных, например, N VARCHAR.

Если вы не хотите разрешать символы UNICODE в своем выводе, то вам нужно реализовать какое-то явное отображение - например, проекция, которая заменяет любые не-ASCII символы подходящими заменами.

...