powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / не работает substr+right Teradata
15 сообщений из 15, страница 1 из 1
не работает substr+right Teradata
    #39719762
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пишу условие
Код: sql
1.
2.
3.
4.
5.
select
case
when lv3.code like 's' then substr(lv3.name,4)
when lv3.code like 'h' then substr(lv3.name,right(lv3.name,3))
end



при выполнении пишет ошибку - The format or data contains a bad character

Запрос должен при коде s удалять 4 символа справа а при h 3 слева.
не могу найти ошибку. Помогите...
...
Рейтинг: 0 / 0
не работает substr+right Teradata
    #39719888
Glebanski
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
результат
Код: plsql
1.
2.
3.
4.
select
case
when lv3.code like 'h' then right(lv3.name,3)
end


Даст вам намек
...
Рейтинг: 0 / 0
не работает substr+right Teradata
    #39719914
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Glebanski,

к примеру в поле Москва ФЛ,
right(lv3.name,3) выводит ' ФЛ'

намек не пойму
...
Рейтинг: 0 / 0
не работает substr+right Teradata
    #39720020
WarAnt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romanov-krd,

что возвращает right(lv3.name,3)? не думаю что число...
...
Рейтинг: 0 / 0
не работает substr+right Teradata
    #39720081
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WarAnt,

строку возвращает
...
Рейтинг: 0 / 0
не работает substr+right Teradata
    #39720099
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romanov-krdWarAnt,

строку возвращаетА что принимает вторым параметром substr?
...
Рейтинг: 0 / 0
не работает substr+right Teradata
    #39720405
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
число принимает. что тогда можно использовать?
...
Рейтинг: 0 / 0
не работает substr+right Teradata
    #39720431
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romanov-krdчисло принимает. что тогда можно использовать?Нужно использовать right вместо substr
...
Рейтинг: 0 / 0
не работает substr+right Teradata
    #39720432
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgRomanov-krdчисло принимает. что тогда можно использовать?Нужно использовать right вместо substrА, вам же надо отрезать.
Тогда непонятно, почему вы так написали, substr(lv3.name,4) отрезает 4 символа слева, а не справа

Нужно так:
Код: sql
1.
2.
3.
4.
5.
select
case
when lv3.code like 's' then substr(lv3.name,1, len(lv3.name)-4)
when lv3.code like 'h' then substr(lv3.name,3)
end
...
Рейтинг: 0 / 0
не работает substr+right Teradata
    #39720689
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

А если нужно чтобы просто убирал символы слева например Москва ГМ, Ростов ГМ - оставлял только Москва, Ростов. символы ГМ везде одинаковы, можно что то наподобии trim использовать. только он не подходит
...
Рейтинг: 0 / 0
не работает substr+right Teradata
    #39720690
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Romanov-krd,

Справа убирал*
...
Рейтинг: 0 / 0
не работает substr+right Teradata
    #39720713
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Romanov-krd,

а да, понял как сделать. Но у меня почему то с кириллицей не работает пишет ошибку

[Error 6706] The string contains an untranslatable character
...
Рейтинг: 0 / 0
не работает substr+right Teradata
    #39720714
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Romanov-krd,

Хотя с латинскими буквами все ок
...
Рейтинг: 0 / 0
не работает substr+right Teradata
    #39720719
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romanov-krdа да, понял как сделать. Но у меня почему то с кириллицей не работает пишет ошибку

[Error 6706] The string contains an untranslatable characterНу, вы всё таки на форуме MSSQL, а не Teradata :-)
Может, там у вас есть что то вроде констант юникода, как в сиквеле, и вообще нужно знать, какие строковые типы бывают, в том числе типично используемые для не-английского; в общем, читайте документацию.
...
Рейтинг: 0 / 0
не работает substr+right Teradata
    #39720890
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашел. Вдруг кому то пригодится - вместо функции length используем character_length, тогда работает с кириллицей

select substr('Ростов ГМ',1,character_length('Ростов ГМ')-3
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / не работает substr+right Teradata
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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