powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / странность SQL2000 проблема в настройке?
19 сообщений из 19, страница 1 из 1
странность SQL2000 проблема в настройке?
    #32042635
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
запрос работал на 7 , посе переноса на 2000 , не выдает записей - режет условие:

where ts = -1

поле ts - бит , полно записей с Истиной , в семерке работало!!!

если условие указать как

ts <> 0 то работает и на 2000

но в чем проблема с -1 ?????
может True в 2000 не -1?
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042639
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насколь мне известно, значение бит может принимать три значения: 0, 1, NULL.
В этом случае "-1" - скорее всего преобразуется не к тому виду, который нужен Вам. Поэтому и возникает такой глюк.
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042643
Dimos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насколько я знаю, true=-1 только в одном Visual Basic :)
Во всех других языках программирования
0=false, все отличное от 0 (как правило 1) = true.
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042644
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
помоему в 2000 истина это 1...
Converting bit Data
Converting to bit promotes any nonzero value to 1.


See Also

CAST and CONVERT

Data Types
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042645
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не поверите в семерке = -1
- прокатывает
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042647
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оно и в 2000 должно по идее прокатывать....
т.е. все что не 0 это истина.....
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042648
sorgery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В семерке действительно было -1 как тру, при переходе на 2000 (2000 не хочет понимать -1 как тру) и из за этого возникают маленькие проблемки.
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042656
Dimos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мораль:

храните 1 как true, 0 как false и все операции с этим (булевские) выполняйте на клиетне.
Тогда не будет вышеописанных траблов :)
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042657
sorgery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мораль скажим так - дурацкая... Ну кто думал когда жил на семерке, что мелкософту взбредет идея переделать -1 на 1
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042661
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я думаю это траблы реализации....
если всегда использова =0 или !=0 - проблем не должно быть....
а так работает ?
Код: plaintext
where ts=cast(- 1  as bit)
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042666
Dimos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во всех нормальных языках программирования (на которых, как правило пишутся клиенты :), так же как и в головах всех программистов, 0=false, все остальное true.
Поэтому не мораль дурацкая (без наездов, между прочим, можно ,было бы и обойтись), а программист неопытный.

Никогда не полагайтесь на особенности реализации чего-либо в чем-либо!!! Иначе обязательно будут такие грабли!!!

Если вы, уважаемый sorgery, о таких вещах раньше не задумывались, то я - задумавался.

Я вот всегда храню true как tinyint(1) и false как tinyint(0) во всех базах, с которыми работал (Access, Sybase, Informix и MS SQL) и на такие грабли не напарывался!!!
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042667
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я обычно пакую в интегральные типы несколько битовых флагов....
за исключением оч редких моментов с null ....
и не надо злится... многие через такие грабли проходили...
ЗЫ я тож не исключение.... (16 часов с воспаленными глазами) ;))
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042678
Gues
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а что выдает
select distict ts from ... ?

кстати, при переходе на .Net мелкософт изменило true|false на VB.
так что не стоит завязываться на константах, особенно крайне странных типа "-1" == true.
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042762
Alk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Alk
Гость
осталась последняя проблема
отыскать все комбинации =-1
в триггерах, процедурах и вьювах
и заменить их на <> 0

не подскажите какое - нибудь автоматическое средство?
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042770
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно просто соскриптовать все указанные объекты в файл (EM позволяет это сделать), а затем через контекстную замену в том же Far'e, блокноте и т.п. Имеет смысл проверять каждое вхождение "=-1" ручками
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042772
Thunder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
заскриптуй полностью базу. Полученный скрипт загони в Query Analyser. А затем поиск с заменой и выполнить скрипт.
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042788
Зайцев Фёдор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во всех нормальных головах
true = (1 = 1)
false = (0 != 0)

Всё остальное зависит от языка (а не от нормальности языка)
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042820
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за советы, буду пробовать
...
Рейтинг: 0 / 0
странность SQL2000 проблема в настройке?
    #32042822
Miha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А не посмотреть ли вам в БОЛ: Data Type Precedence:
...
int
smallint
tinyint
bit
...

ts = -1 преобразовывается в int(ts) = int(-1).

а вот так должно работать:
sp_dbcmptlevel 70
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / странность SQL2000 проблема в настройке?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]