powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / не отрабатывает функция right()
4 сообщений из 4, страница 1 из 1
не отрабатывает функция right()
    #34163701
greatpao
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто-нибудь сталкивался с такой проблемой:

f1, f2 - поля в таблице, оба character(10). Replace f2 with right(f1, 5)
если f1 = 'ggg123gg', то результат '123gg' - нормально.
если f1 = 'ggg123' или '00000123', то результат '123' - это как?
Похоже, если строка кончается цифрой, ее интерпретируют как число?
...
Рейтинг: 0 / 0
не отрабатывает функция right()
    #34163728
vkluch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблем быть не должно. Внимательнее с незначащими пробелами.
...
Рейтинг: 0 / 0
не отрабатывает функция right()
    #34163766
greatpao
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как ни странно - поставил alltrim и все отработало.
но почему? - ни лидирующих, ни замыкающих пробелов нет,
тем более функция - right(), лидирующие пробелы влиять не должны.
...
Рейтинг: 0 / 0
не отрабатывает функция right()
    #34163779
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ForxPro поля типа Character всегда имеют фиксированный размер. Фиксированная длина содержимого.

Например, если Вы создали поле типа C(10), то это означает, что данное поле всегда будет иметь 10 символов. Даже если Вы введете в такой поле только 5 символов, например, Ваши 'ggg123', то FoxPro сам, автоматически, дополнит этот текст до 10 символов концевыми пробелами.

Далее, при использовании функции RIGHT() вырезается фрагмент содержимого, отсчитывая символы справа-налево. Естесственно, с учетом концевых пробелов.

Либо отсекайте концевые пробелв перед использованием RIGHT()

RIGHT(RTRIM(f1),5)

Либо, если у Вас версия VFP9 используйте тип данных VarChar вместо Caharcter. Этот тип не добавляет концевых пробелов. Записывает текст "как есть"
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / не отрабатывает функция right()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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