|
Преобразование типов
|
|||
---|---|---|---|
#18+
Используя ADO через ODBC обращаюсь к dbf таблице. В запросе возникла потребность в преобразование типов, к примеру из строки в int. Какую функцию в SQL запросе можно использовать для этих целей? Покапавшись в MSDN по функциям преобразованиям ничего не нашел, но попробовал использовать некоторые функции с Visual Basic, к примеру CLng (имя_поля), оказывается работает;) Но в моем конкретном случае это не помогает, так в ниже приведенном случае в таблице phones поле phone представлено как char (4) и в этом поле значения телефона представлены не как строка, а как int, к примеру 1 будет представлено физически в таблице как 00 00 00 01. И эти значения отображаются как null. На тестовом компьютере установлен MDAC 2.8 Примера условного кода для вывода телефонного справочника на Visual Basic Script Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2003, 16:48 |
|
Преобразование типов
|
|||
---|---|---|---|
#18+
Не знаю, как dBase`овский драйвер воспримет фоксовые команды, но с OLEDB Provider for Visual FoxPro, а так же с Visual FoxPro ODBC прокатывало использование Фоксовских функций в SQL-запросе. Например так: Код: plaintext 1.
Visual FoxPro Language Reference ... VAL( ) returns the numbers in the character expression from left to right until a non-numeric character is encountered (leading blanks are ignored). VAL( ) returns 0 if the first character of the character expression isn't a number or a plus sign (+) or minus sign (-). ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2003, 17:13 |
|
Преобразование типов
|
|||
---|---|---|---|
#18+
Сразу не въехал %+ Скорее всего вот что нужно: Use CTOBIN(cExpression) to convert a binary character representation back to its integer value. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2003, 17:19 |
|
Преобразование типов
|
|||
---|---|---|---|
#18+
Смотри описание функций для FoxPro STR() PADL() PADR() PADC() TRANSFORM() Например, можно так Код: plaintext
Тип Integer физически и хранится в 4 байтах. Но разумеется хранится не как 4 символа. Нужен пересчет ASCII-кодов соответсвующих символов, если не ошибаюсь, то примерно так: ASCII_1*256*256*256+ASCII_2*256*256_ASCII_3*256+ASCII_4 Здесь ACSII_1, ACSII_2, ACSII_3, ACSII_4 - это ASCII-коды соотсветствующих символов справа налево. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2003, 18:03 |
|
Преобразование типов
|
|||
---|---|---|---|
#18+
Тоже перепутал. Это было из числа в строку. А из строки в число соответсвенно: VAL(phone) - возможно добавление дробной части INT(VAL()) - выделение целой части из числа Только имей в виду, что в число будут переведен тот фрагмент строки где есть только цифры и разделитель целой и дробной части. Если номер телефона записан в виде 123-45-67 то функция VAL("123-45-67") вернет 123 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2003, 18:08 |
|
Преобразование типов
|
|||
---|---|---|---|
#18+
Супер, даже не ожидал такой поддержки. 1. пришлось поставить OLE DB Provider for Visual FoxPro с Microsoft, а вот по Visual FoxPro документации хватило, что бы уже со всем остальным разобраться. И мое мнение это самый нормальный провайдер для того чтобы работать с DBF файлами. 2. так строки хранились в cp866, пришлось воспользоваться CPCONVERT (866, 1251, fio) 3. Ну а насчет данных как правильно подсказал Por воспользовался функцией CTOBIN Конечный вариант, правда у меня phone chr (2) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2003, 19:45 |
|
Преобразование типов
|
|||
---|---|---|---|
#18+
cpconvert кстати использовать не обязатально. Достаточно выложить рядом с драйвером файл config.fpw в котором будет строчка CODEPAGE = 866 Почитайте описание к драйверу... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2003, 10:24 |
|
Преобразование типов
|
|||
---|---|---|---|
#18+
как можно преобразовать тип float в строку STR не работает ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2010, 00:41 |
|
Преобразование типов
|
|||
---|---|---|---|
#18+
Raddyкак можно преобразовать тип float в строку STR не работает1) что пишет? 2) cast() ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2010, 04:57 |
|
|
start [/forum/topic.php?fid=41&msg=32349696&tid=1585320]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 357ms |
total: | 485ms |
0 / 0 |