|
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С лучше меня знаешь.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший