Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
09.12.2010, 13:45
|
|||
---|---|---|---|
|
|||
Помогите удалить ведущие нули в выборке на VFP 6.0 |
|||
#18+
Привет всем! Есть у нас таблицы в базе ФоксПро сщ строковыми полями, но хранятся там числовые значения и выровнены они нулями слева т.е.: 12345 01133 00032 Нужно написать SELECT который выберет их без ведущих нулей, что-то вроде: SELECT LTRIM(myfield) FROM mytable Но вот LTRIM не обрубает символы нулей. Сделать это нужно для Visual FoxPro 6.0... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.12.2010, 14:04
|
|||
---|---|---|---|
Помогите удалить ведущие нули в выборке на VFP 6.0 |
|||
#18+
Код: plaintext
Логика такая: 1) Заменяем ВСЕ символы 0 на символ пробела. Заменяются, в том числе, и нули в середине 2) Отсекаем ведущие пробелы через LTRIM() 3) Делаем обратную замену оставшихся пробелов на нули 4) Дополняем строку ведущими пробелами до нужного размера PADL() Как вариант, можно преобразовать в число, а потом обратно в строку. В этом случае ведущие нули автоматически пропадут. Но это подходит только если общая длина не превышает 15 значений. В противном случае будет риск потери значений Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.12.2010, 14:16
|
|||
---|---|---|---|
Помогите удалить ведущие нули в выборке на VFP 6.0 |
|||
#18+
Тут вопрос более сложный... Ну, делаем выборку через val(), например. А вот порядок сортировки конечной выборки каким должен быть? Т.е '00032' должно быть именно числом и оказаться выше '01133'? Или это значение ещё и будет полем связи с другим numeric ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&mobile=1&tid=1584730]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 294ms |
total: | 418ms |
0 / 0 |