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