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

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

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

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

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

RIGHT(RTRIM(f1),5)

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


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