|
Непонятная конструкция в запросе | ☑ | ||
|---|---|---|---|---|
|
0
jamesgold
06.08.15
✎
22:31
|
Добрый день, прошу помочь!
Помогите понять конструкцию в запросе, добавляется следующее поле: Запрос.Текст = Запрос.Текст + " ВЫРАЗИТЬ(ЕСТЬNULL(ПервоначальнаяСтоимостьОС.СуммаОстатокДт, 0) - ЕСТЬNULL(ВЫБОР КОГДА СписокОС.ПорядокПогашенияСтоимости = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеИзноса) ТОГДА АмортизацияОС.СуммаОстатокДт ИНАЧЕ АмортизацияОС.СуммаОстатокКт КОНЕЦ, 0) КАК ЧИСЛО(15, 2)) КАК ОстаточнаяСтоимость |"; Может кто-нибудь прокоментировать? |
|||
|
1
Asmody
06.08.15
✎
22:33
|
Что конкретно непонятно? Все слова известные.
|
|||
|
2
jsmith82
06.08.15
✎
22:33
|
форматнул бы как-нибудь
ВЫРАЗИТЬ ( ЕСТЬNULL(ПервоначальнаяСтоимостьОС.СуммаОстатокДт, 0) - ЕСТЬNULL( ВЫБОР КОГДА СписокОС.ПорядокПогашенияСтоимости = ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеИзноса) ТОГДА АмортизацияОС.СуммаОстатокДт ИНАЧЕ АмортизацияОС.СуммаОстатокКт КОНЕЦ, 0) КАК ЧИСЛО(15, 2) ) КАК ОстаточнаяСтоимость |
|||
|
3
jsmith82
06.08.15
✎
22:34
|
ну да, всё тут понятно, чо уж
|
|||
|
4
jamesgold
06.08.15
✎
22:36
|
Согласен, так нагляднее)
|
|||
|
5
jamesgold
06.08.15
✎
22:36
|
Спасибо!!!
|
|||
|
6
Asmody
06.08.15
✎
22:38
|
ЕСТЬNULL() возвращает первый аргумент, если он не NULL, иначе - второй аргумент.
Конструкция ВЫБОР ТОГДА ИНАЧЕ КОНЕЦ эквивалентна тернарному оператору ?(,,). ВЫРАЗИТЬ() - это приведение типа |
|||
|
7
rsv
06.08.15
✎
23:36
|
(0) аnsi sql 92 . Cse там описан.
|
|||
|
8
rsv
06.08.15
✎
23:37
|
Т.е. Сase
|
|||
|
9
rsv
06.08.15
✎
23:44
|
Выразить он же сильно обрезанный Cast и так далее
|
|||
|
10
jsmith82
06.08.15
✎
23:47
|
(7)(8)(9) а он tsql, думаешь, знает?
|
|||
|
11
rsv
06.08.15
✎
23:50
|
(10) стандарт ANSI держат все субд . Case должны уж точно все держать
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |