![]() |
|
MIN and MAX в запросе SQL | ☑ | ||
---|---|---|---|---|
0
ig0z
11.04.17
✎
11:48
|
Запрос из 1С в SQL, выдает ошибку на взятие Минимума и Максимума из-за типа данных, как преобразовать в нужный тип?
Пробовал примеры преобразования с форумов SQL, как-то не помогло ... Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Sybase][ODBC Driver][Adaptive Server Anywhere]Невозможно преобразовать в timestamp | MIN(AcctLive.BUSDATE) 'ДатаЗаезда', MAX(AcctLive.BUSDATE) 'ДатаВыезда', пример данных колонки: BUSDATE 10.03.2017 0:00:00 15.03.2017 0:00:00 29.03.2017 0:00:00 29.03.2017 0:00:00 29.03.2017 0:00:00 |
|||
1
sapphire
11.04.17
✎
11:53
|
Вероятно, что есть записи с AcctLive.BUSDATE IS NULL
|
|||
2
Вафель
11.04.17
✎
11:57
|
а точно именно на этом поле ошибка, по тексту не понятно
|
|||
3
Вафель
11.04.17
✎
11:57
|
ну и мин макс не занимается преобразованием
|
|||
4
sapphire
11.04.17
✎
11:58
|
(3) Да вот тож удивляет
|
|||
5
ig0z
11.04.17
✎
12:00
|
(2) (3) именно на этой строчке преобразовывал в
//| MIN(cast(AcctLive.BUSDATE as date)) 'ДатаЗаезда', MAX(cast(AcctLive.BUSDATE as date)) 'ДатаВыезда', и ругается на формат почему-то timestamp хотя там дата |
|||
6
ig0z
11.04.17
✎
12:02
|
(5) именно на этой строчке ошибка, преобразовывал в другие форматы:
//| MIN(cast(AcctLive.BUSDATE as date)) 'ДатаЗаезда', MAX(cast(AcctLive.BUSDATE as date)) 'ДатаВыезда', |
|||
7
Вафель
11.04.17
✎
12:11
|
а без каста?
|
|||
8
ig0z
11.04.17
✎
12:16
|
всё на много проще в UNION ALL
| '' 'ДатаЗаезда', '' 'ДатаВыезда', |
|||
9
ig0z
11.04.17
✎
12:19
|
Заменил на
| '01.01.0001 0:00:00' 'ДатаЗаезда','01.01.0001 0:00:00' 'ДатаВыезда', и заработало |
|||
10
Вафель
11.04.17
✎
12:30
|
Лучше
NULL 'ДатаЗаезда' |
|||
11
Вафель
11.04.17
✎
12:30
|
(9)у тебя мин теперь чему равен?
|
|||
12
ig0z
11.04.17
✎
12:59
|
(11) в смысле? то что хотел
(10) SQL '01.01.0001 0:00:00' = 1C '01.01.1901 0:00:00' |
|||
13
Вафель
11.04.17
✎
13:16
|
(12) так он у тебя всегда будет такой. Так и хотел? тогда зачем его искать?
|
|||
14
ig0z
11.04.17
✎
13:20
|
(13) не не всё что нужно я себе уже сделал единственное на NULL заменил '01.01.0001 0:00:00'
|
|||
15
ig0z
11.04.17
✎
14:42
|
блин в добавление данных другие косяки вплывают и понять не могу почему
//| MAXandMIN.DateIn 'ДатаЗаезда', DATE_ADD(MAXandMIN.DateOut, INTERVAL 1 DAY) 'ДатаВыезда', Ошибка:Произошла исключительная ситуация (Microsoft OLE DB Provider for ODBC Drivers): [Sybase][ODBC Driver][Adaptive Server Anywhere]Синтаксическая ошибка около '1' подсоединено 67 что не так? |
|||
16
ig0z
14.04.17
✎
13:11
|
как объеденные таблицы сделать виртуальной
обычные делал так: |IF OBJECT_ID('tempdb..#NoUsez') IS NOT NULL DROP TABLE #InvoiceInfoUnic |SELECT DISTINCT CASE WHEN AcumS.ACCOUNTID IS NULL THEN ContenByAccc.ACCOUNTID END 'NoUsezz' |INTO #NoUsez |FROM Edeldb.Admin.ContentByAccount AS ContenByAccc | LEFT JOIN Edeldb.Admin.ContentByAccount AS AcumS ON AcumS.AccountID = ContenByAccc.AccountID | AND AcumS.ARTIKELNAME = 'Частичная оплата' |WHERE ContenByAccc.OPERATIONID = 19 |SELECT * |FROM Edeldb.Admin.ContentByAccount AS ConAcc |UNION ALL |SELECT * |Edeldb.Admin.ALL_DEBITOR_PAYMENT AS DebPay |UNION ALL |SELECT * |FROM Edeldb.Admin.CASH_PAYMENT AS CashPay |
|||
17
Ёпрст
гуру
14.04.17
✎
13:16
|
(16) куды from во втором юнионе подевал ?
|
|||
18
Ёпрст
гуру
14.04.17
✎
13:17
|
(16) точно так же select into
|
|||
19
ig0z
14.04.17
✎
15:06
|
(17) чисто пример делал
|
|||
20
ig0z
16.04.17
✎
13:57
|
(15) DATEADD(day,1,MAXandMIN.DateOut) 'ДатаВыезда'
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |