![]() |
|
CASE and Boolean TransactSQL, условие на Истину или Ложь | ☑ | ||
---|---|---|---|---|
0
ig0z
29.07.17
✎
12:53
|
как правильно написать?
WHEN AcTabl.Сотрудник = 'FALSE' AND AcTabl.ВажнаяПерсона = 'FALSE' |
|||
1
Работающий имитатор
29.07.17
✎
12:55
|
Зависит от того, что ты хочешь, что такое сотрудник и что такое важная персона.
|
|||
2
Работающий имитатор
29.07.17
✎
12:56
|
Надеюсь, FALSE - это фамилия?
|
|||
3
ig0z
29.07.17
✎
12:59
|
Так стоп, AcTabl.Сотрудник и AcTabl.ВажнаяПерсона имеют тип Boolen - или что там
WHEN AcTabl.Сотрудник = FALSE AND AcTabl.ВажнаяПерсона = FALSE |
|||
4
ig0z
29.07.17
✎
12:59
|
SQL выдает такую строку
11797007 2017-01-13 10:24:36.920 VIP абонемент Ski12981 Abonement VIP 4 часа 11456 ИТ_Отдел Ложь NULL Истина NULL NULL NULL 0.00 1.00 |
|||
5
Работающий имитатор
29.07.17
✎
13:00
|
(3) В tsql нет типа boolean. Потрудись, пожалуйста, узнать - "или что там"
|
|||
6
ig0z
29.07.17
✎
13:00
|
т.е AcTabl.Сотрудник и AcTabl.ВажнаяПерсона имеют значения Ложь и Истина
|
|||
7
Работающий имитатор
29.07.17
✎
13:02
|
(6) Если это не tsql, а язык запросов 1с, то о его конструкциях подробно написано в справке, в части описания встроенного языка, оператор выбор
|
|||
8
ig0z
29.07.17
✎
13:04
|
(7) блин язык запросов я и так знаю
|
|||
9
Работающий имитатор
29.07.17
✎
13:05
|
Это заметно
|
|||
10
Работающий имитатор
29.07.17
✎
13:06
|
И сейчас внезапно окажется, что это не tsql, а очередное "или что там"
|
|||
11
ig0z
29.07.17
✎
13:09
|
спасибо за помощь уже так нашел ..
|
|||
12
Работающий имитатор
29.07.17
✎
13:13
|
(11) Отлично. Запиши решение в книжечку. Судя по Запрос SQL на условие True ты склонен забывать пройденный материал.
|
|||
13
ig0z
29.07.17
✎
13:20
|
(12) ты видишь там решение?
в текущей теме, тип колонки строковый ... |
|||
14
Работающий имитатор
29.07.17
✎
13:23
|
(13) Покажи, пожалуйста, что ты записал в книжечку?
|
|||
15
ig0z
29.07.17
✎
13:25
|
AND AcTabl.Сотрудник = 'Ложь' AND AcTabl.ВажнаяПерсона = 'Ложь'
|
|||
16
ig0z
29.07.17
✎
13:30
|
а точнее
(AcTabl.Сотрудник = 'Ложь' OR AcTabl.Сотрудник IS NULL) AND (AcTabl.ВажнаяПерсона = 'Ложь' OR AcTabl.ВажнаяПерсона IS NULL) |
|||
17
Работающий имитатор
29.07.17
✎
13:31
|
(15) Неправильно. С таким подходом ты скоро придёшь сюда с очередным, точно таким же вопросом.
Будь добр, запиши себе туда пять раз подряд фразу: "в tsql нет типа boolean, необходимо смотреть на тип колонки" А лучше раз двадцать, чтобы до автоматизма. |
|||
18
Работающий имитатор
29.07.17
✎
13:34
|
И да, в этом случае проще использовать ISNULL. Ну это ты, как знаток языка запросов 1С лучше меня знаешь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |