|
Помощь с запросом.
|
|||
---|---|---|---|
#18+
Подскажите пожалуйста sql запрос, есть столбец типа дата и время и нужно получить записи. Пример дай мне все записи у которых разница между первым полем и вторым по времени меньше или равно 2 мс. Версия: Microsoft SQL Server 2014 - 12.0.2000.8 (X64) Feb 20 2014 20:04:26 Copyright (c) Microsoft Corporation Express Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 13:25 |
|
Помощь с запросом.
|
|||
---|---|---|---|
#18+
479didi, Имелось ввиду это Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
или это Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 13:54 |
|
Помощь с запросом.
|
|||
---|---|---|---|
#18+
entrypoint, Вопрос по первому запросу Имеется один столбец с датами и типом дата и время, Название таблицы:zline, столбец: date. Выполняю запрос WITH zline AS ( SELECT date , DATEDIFF(MILLISECOND, date, LEAD(date) OVER(ORDER BY date ASC)) AS delta FROM zline) SELECT date FROM zline WHERE delta <= 2; Выскакивает сообщение: Сообщение 195, уровень 15, состояние 10, строка 6 LEAD не является известным имя встроенной функции. Строка: , DATEDIFF(MILLISECOND, date, LEAD(date) OVER(ORDER BY date ASC)) AS delta Таблица: Date1111111111111111111idline 2019-09-23 18:49:44.917 13039 2019-09-23 18:52:01.760 13038 2019-09-23 18:52:13.980 13038 2019-09-23 18:52:35.810 13038 2019-09-23 18:53:13.840 13039 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 15:39 |
|
Помощь с запросом.
|
|||
---|---|---|---|
#18+
479didi, У Вас точно MSSQL 2014 и уровень совместимости выставлен как MSSQL 2014 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 15:53 |
|
Помощь с запросом.
|
|||
---|---|---|---|
#18+
entrypoint, Да вы правы была другая версия, но после выполнения появилась другая ошибка: Recursive common table expression 'zline' does not contain a top-level UNION ALL operator. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 16:26 |
|
Помощь с запросом.
|
|||
---|---|---|---|
#18+
479didi, Точно скопируйте пример и убедитесь что в окне выполнения нет никакого другого кода Ругань на объект "zline" Такого объекта в моем примере нет, т.е. это какой-то чужой кусок от того что вы делали до этого, или что-то изменяли Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 17:38 |
|
Помощь с запросом.
|
|||
---|---|---|---|
#18+
entrypoint, имя моей таблицы"zline" Имя столбца "date", "idline" Как правильно выполнить запрос уже с существующей таблицей? А так же вопрос, ваш запрос возвращает на примере тестовой таблице только одну запись подходящую по условию например: '20190101 00:00:00.000' '20190101 00:00:00.001' Две записи, возвращает только первую, можно ли сделать так что б возвращал обе? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2020, 13:03 |
|
Помощь с запросом.
|
|||
---|---|---|---|
#18+
479didi, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2020, 13:08 |
|
Помощь с запросом.
|
|||
---|---|---|---|
#18+
479didi entrypoint, имя моей таблицы"zline" Имя столбца "date", "idline" Как правильно выполнить запрос уже с существующей таблицей? А так же вопрос, ваш запрос возвращает на примере тестовой таблице только одну запись подходящую по условию например: '20190101 00:00:00.000' '20190101 00:00:00.001' Две записи, возвращает только первую, можно ли сделать так что б возвращал обе? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32.
В Вашем случае Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2020, 13:12 |
|
Помощь с запросом.
|
|||
---|---|---|---|
#18+
entrypoint, Извиняюсь за большое количество вопросов и затраченное ваше время. Возникает ошибка: Сообщение 535, уровень 16, состояние 0, строка 1 The datediff function resulted in an overflow. The number of dateparts separating two date/time instances is too large. Try to use datediff with a less precise datepart. Не подскажете в чем причина? Попробовал изменить на секунды, запрос работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2020, 13:29 |
|
Помощь с запросом.
|
|||
---|---|---|---|
#18+
479didi, Миллисекунд получается много, выходит за пределы значений ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2020, 13:30 |
|
Помощь с запросом.
|
|||
---|---|---|---|
#18+
entrypoint, Можно ли как то обойти это? Или только в секундах можно будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2020, 13:40 |
|
Помощь с запросом.
|
|||
---|---|---|---|
#18+
479didi entrypoint, Можно ли как то обойти это? Или только в секундах можно будет? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.01.2020, 13:55 |
|
|
start [/forum/topic.php?fid=46&fpage=73&tid=1686668]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 327ms |
total: | 455ms |
0 / 0 |