Показ ДАТЫ ORDER BY АННУЛИРУЕТ сначала затем новые даты

Используйте силу rxjs.

import { of, from } from 'rxjs'; 
import { delay, concatMap, mergeMap } from 'rxjs/operators';

const source = of(tracingArray).pipe(
  mergeMap((x: [Tracing]) => from(x)),
  concatMap(x => of(x).pipe(delay(2000)))
);

source.subscribe(x => console.log(x));

(правка: образец с массивами) По сути, все, что вам нужно сделать, это разделить tracingArray на куски (несколько подмассивов), которые затем будут отображаться каждые 2 с.

58
задан Eppz 31 January 2018 в 19:50
поделиться

5 ответов

@ Крис, у вас оно почти есть.

ORDER BY (CASE WHEN [Submission Date] IS NULL THEN 1 ELSE 0 END) DESC, 
         [Submission Date] DESC

[Редактировать: #Eppz попросил меня настроить приведенный выше код, как показано в данный момент]

Я лично предпочитаю это намного лучше, чем создавать «магические числа». Магические числа почти всегда являются проблемой, ожидающей своего появления.

103
ответ дан 24 November 2019 в 18:44
поделиться

Вы можете сделать что-то вроде этого, поместив NULL внизу:

ORDER BY [Submission Date] IS NULL DESC, [Submission Date] ASC
25
ответ дан 24 November 2019 в 18:44
поделиться

попробуйте это

ВЫБРАТЬ a, b, c, [Дата отправки] ИЗ someView СОРТИРОВАТЬ ПО isnull ([Дата представления], приведение («1770/01/01» в качестве даты и времени)) ASC

0
ответ дан 24 November 2019 в 18:44
поделиться

Стандартный SQL (ISO / IEC 9075-2: 2003 или более поздняя версия - 2008) предусматривает:

ORDER BY SomeColumn NULLS FIRST

Большинство СУБД фактически не поддерживают это, AFAIK.

17
ответ дан 24 November 2019 в 18:44
поделиться

try

SELECT a,b,c,[Submission Date]
FROM someView
ORDER BY isnull([Submission Date],cast('2079/01/01' as datetime)) ASC
3
ответ дан 24 November 2019 в 18:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: