Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL [D7, MS Access]


Страницы:   1 2

ADeL ©   (2003-10-16 17:48:00) 

поле Sent - в байтах

запрос:
SELECT (Sent/1024/1024) AS [SentMB] FROM DataBase1

даёт значения типа в поле SentMB в виде

0,203751564025879
1,9073486328125E-5
0,301600456237793


Каким образом надо изменить запрос чтобы привести значение в поле Sent к виду

0,20
1,90
0,30


?


Zol_Sanuff   (2003-10-17 15:46:00) [1]

Для преобразования типов Access поддерживает функции (взято из справки Office XP)
Str()
Val()

и

CBool(expression)
CByte(expression)
CCur(expression)
CDate(expression)
CDbl(expression)
CDec(expression)
CInt(expression)
CLng(expression)
CSng(expression)
CStr(expression)
CVar(expression)


ADeL   (2003-10-17 14:36:00) [2]

Спасибо всем
Заработало 8)
SELECT round((Sent/1024/1024), 2) AS [SentMB] FROM DataBase1


ADeL   (2003-10-17 14:32:00) [3]

Семен Сорокин
все запросы выполняются из delphi7


Семен Сорокин   (2003-10-17 14:24:00) [4]

2ADeL
ты случаем не в самом Access"е тестируешь через запросы?
Обязательно из проекта запускай, т.к. консоль Access"а не поддерживает ряд ф-й.


ADeL   (2003-10-17 14:18:00) [5]

Johnmen
Это и так понятно, но я говорила о документации, а в документации ROUND среди зарезервированных слов неприсутсвует.
Дока из состава Officexp.sp2 с MSAccess


Johnmen   (2003-10-17 14:13:00) [6]

Что-то ты путаешь. Судя по

>ADeL (16.10.03 18:45) [8]
>[Microsoft][ODBC Microsoft Access Driver] Wrong number of
>arguments used with function in query expression "round ((Sent/1024/1024), 3, 2)"


ADeL   (2003-10-17 14:05:00) [7]

вообще-то ни ROUND ни CAST в JetSQL неподдерживаются,
поддерживается CONVERT но почемуто неработает 8(


Johnmen   (2003-10-17 13:53:00) [8]

А что по поводу ROUND в документации ?


ADeL   (2003-10-17 13:47:00) [9]

я понять немогу почему CONVERT неработает, в документации сказанно что вроде CONVERT есть среди подреживаемых зарезервированных слов?


MsGuns   (2003-10-17 11:37:00) [10]

Не обратил должного внимания на acsess. Писал для BDE (Local SQL). Облом вышел ;((


Плохиш_   (2003-10-17 10:54:00) [11]

>ADeL (16.10.03 18:45) [8]
>ADeL (17.10.03 10:46) [10]

Круто :-))
Что-то из серии "Папа у Васи силён в математике..." ;-))


bushmen   (2003-10-17 10:54:00) [12]

>[Microsoft][ODBC Microsoft Access Driver] Undefined function "CONVERT" in expression
без зарывающей скобки

Ещё бы - ты открываешь 2 скобки, а закрываешь одну только - надо:

SELECT CONVERT(integer, ((Sent/1024/1024)*100)/100.0) AS [SentMB] FROM DataBase1


ADeL   (2003-10-17 10:46:00) [13]

MsGuns
исполнение запроса
SELECT CAST((Sent/1024/1024*100) AS INTEGER) AS INTVAL FROM DataBase1

выдаёт
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression "CAST((Sent/1024/1024*100) AS INTEGER)"


MsGuns   (2003-10-16 20:14:00) [14]

SELECT CAST((Sent/1024/1024*100) AS INTEGER) AS INTVAL FROM DataBase1

INTVAL - имя вычисленного поля


ADeL   (2003-10-16 18:45:00) [15]

Johnmen
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression "CAST((Sent/1024/1024)*100 AS INTEGER)/100.0"

Семен Сорокин
[Microsoft][ODBC Microsoft Access Driver] Undefined function "CONVERT" in expression
без зарывающей скобки

[Microsoft][ODBC Microsoft Access Driver] Extra ) in query expression "CONVERT(integer, (Sent/1024/1024)*100)/100.0)"

bushmen
[Microsoft][ODBC Microsoft Access Driver] Wrong number of arguments used with function in query expression "round((Sent/1024/1024), 3, 2)"


Johnmen   (2003-10-16 18:33:00) [16]

>выдаёт ошибку

Очень информативно...


ADeL   (2003-10-16 18:27:00) [17]

Видимо cast и round неподдерживабтся в JetSQL в данном случае

ещё
SELECT (Sent/1024/1024*100) AS INTEGER FROM DataBase1
выдаёт ошибку
неговоря о CAST


Семен Сорокин   (2003-10-16 18:26:00) [18]

Что-то типа:
SELECT CONVERT(integer, (Sent/1024/1024)*100)/100.0 AS [SentMB] FROM DataBase1
Access CAST, имхо, не поддерживает


Johnmen   (2003-10-16 18:23:00) [19]

В чем выражается "Незаработало ни " ?


ADeL   (2003-10-16 17:59:00) [20]

Johnmen
bushmen

Незаработало ни 8(


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо