Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как в запросе получить разность дат?
|
|||
|---|---|---|---|
|
#18+
ИМХО, не проще ли так: - написать хранимку в Оракле - вызывать ее из Cache через SQL-шлюз. Подход, проверенный временем :), и безопасность выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 17:13 |
|
||
|
Как в запросе получить разность дат?
|
|||
|---|---|---|---|
|
#18+
Alexey Maslov, не проще ) "база на Оракл" это часть внешней системы, к которой я доступа не имею, по большему счету. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 17:21 |
|
||
|
Как в запросе получить разность дат?
|
|||
|---|---|---|---|
|
#18+
Ясно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.10.2010, 19:46 |
|
||
|
Как в запросе получить разность дат?
|
|||
|---|---|---|---|
|
#18+
coder1cv8В Оракле запрос: Код: plaintext 1. А что возвращает этот же запрос при использовании внешней программы (ODBCView, SQLExplorer и т.п.)? Если возвращает то же, что и при выполнении из Оракла, то действительно проблема в Cache. Если же возвращает "плохой" (не устраивающий вас) результат, то Cache здесь не при чем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2010, 09:18 |
|
||
|
Как в запросе получить разность дат?
|
|||
|---|---|---|---|
|
#18+
прочитал топик - пробовали пользовать to_date(переменная, 'YYYY-MM-DD')? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2010, 11:23 |
|
||
|
Как в запросе получить разность дат?
|
|||
|---|---|---|---|
|
#18+
hooligunпрочитал топик - пробовали пользовать to_date(переменная, 'YYYY-MM-DD')? вот так SELECT DATEDIFF('ss',UPDSTMP,to_date(GETDATE(), 'YYYY-MM-DD')) FROM VOUHDR to_date вернет данные %Date ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2010, 12:36 |
|
||
|
Как в запросе получить разность дат?
|
|||
|---|---|---|---|
|
#18+
HooliGUN, DATEDIFF нет в Oracle ) Вроде разобрался! Проблема была в разных типах текущей даты и поля с датой из таблицы (наверное). Вот так работает: Код: plaintext Но теперь есть другая проблема. Вот вроде бы выяснили, что если таблица линкованная то нужно писать запрос на sql-диалекте той базы к которой линкуем. Но почему функции (в данном случае Оракла) работают выборочно?? Например, TO_DATE доступна: Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2010, 13:35 |
|
||
|
Как в запросе получить разность дат?
|
|||
|---|---|---|---|
|
#18+
По-моему, to_date() есть в оракле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2010, 13:43 |
|
||
|
Как в запросе получить разность дат?
|
|||
|---|---|---|---|
|
#18+
coder1cv8HooliGUN, DATEDIFF нет в Oracle ) Вроде разобрался! Проблема была в разных типах текущей даты и поля с датой из таблицы (наверное). Вот так работает: Код: plaintext Но теперь есть другая проблема. Вот вроде бы выяснили, что если таблица линкованная то нужно писать запрос на sql-диалекте той базы к которой линкуем. Но почему функции (в данном случае Оракла) работают выборочно?? Например, TO_DATE доступна: Код: plaintext Код: plaintext должно работать SELECT {fn TRUNCATE(CURRENT_DATE,'DAY')} FROM VOUHDR ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2010, 17:16 |
|
||
|
Как в запросе получить разность дат?
|
|||
|---|---|---|---|
|
#18+
coder1cv8, Если с помощью связанной таблицы не удаётся получить нужный результат, есть возможность программно выполнить нужный Вам SQL-код, используя Java-Шлюз. Например: Пример Class oracle.test Extends %RegisteredObject { ClassMethod Test(host As %String = "127.0.0.1",port As %Integer = {$$$JDBCGatewayPort}) As %Status { #dim exception As %Exception.StatusException set url="jdbc:oracle:thin:@oracleserver:oracleport:scott" set username="логин" set password="пароль" #dim classPath As %ListOfDataTypes=##class(%ListOfDataTypes).%New() ; каталог с jar-файлами драйвера Oracle do classPath.Insert("C:\JDBC\Oracle\") try { #dim gateway As %Net.Remote.Gateway=##class(%Net.Remote.Gateway).%New() ; подключаемся к шлюзу $$$TOE(status,gateway.%Connect(host,port,,,classPath)) $$$TOE(status,gateway.%ClassForName("oracle.jdbc.OracleDriver")) #dim connection As java.sql.Connection=##class(java.sql.DriverManager).getConnection(gateway,url,username,password) #dim statement As java.sql.Statement=connection.createStatement() #dim rs As java.sql.ResultSet=statement.executeQuery("select ID,UPDSTMP,(SYSDATE-UPDSTMP)*24*60*60 from VOUHDR") #dim rsMetaData As java.sql.ResultSetMetaData=rs.getMetaData() write !,"Выполнение запроса",! write "==============================================",! for i=1:1:rsMetaData.getColumnCount() write rsMetaData.getColumnName(i),?$x+10 write !,"----------------------------------------------",! while (rs.next()) { for i=1:1:rsMetaData.getColumnCount() write rs.getString(i),?$x+10 } write !,"----------------------------------------------",! $$$TOE(status,gateway.%Disconnect()) } catch exception { ; выводим текст ошибки на русском языке write $system.Status.GetErrorText(exception.AsStatus(),"ru") } } } Программное использование JDBCGateway ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2010, 10:16 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=36906917&tid=1557935]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
79ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 246ms |
| total: | 407ms |

| 0 / 0 |
