![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL [D7, MS Access]
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(