Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Поле bit  [new]
noobs
Guest
Добрый день, подскажите как вставить 1/true в битовое поле?
  Insert into agree (AgreeKur,DateAgreeKur,typeUser,username,idPlan) 
  values (Select CONVERT (bit, 'true'), '2016-04-29 11:10:40', 'test', 'test', '166')


Выходит ошибка
Implicit conversion from data type varchar to varbinary is not allowed. Use the CONVERT function to run this query.
29 апр 16, 13:49    [19121785]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
SELECT может стоит убрать?
29 апр 16, 13:50    [19121789]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
AlanDenton,

или ехать или шашечки :) или VALUES или SELECT убрать
29 апр 16, 13:52    [19121802]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
noobs
Guest
AlanDenton,
не изменилось
29 апр 16, 13:57    [19121828]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Какой тип данных у AgreeKur?
29 апр 16, 13:57    [19121838]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
SELECT TYPE_NAME(system_type_id)
FROM sys.columns
WHERE name = 'AgreeKur'
    AND [object_id] = OBJECT_ID('dbo.agree')
29 апр 16, 13:59    [19121852]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
noobs
Guest
bit
29 апр 16, 13:59    [19121854]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
PaulYoung
Member

Откуда: Москва
Сообщений: 2565
noobs
Добрый день, подскажите как вставить 1/true в битовое поле?
  Insert into agree (AgreeKur,DateAgreeKur,typeUser,username,idPlan) 
  values (1, '2016-04-29 11:10:40', 'test', 'test', '166')
29 апр 16, 13:59    [19121855]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
iljy
Member

Откуда:
Сообщений: 8711
А вы ошибку-то читали вообще?


noobs
Выходит ошибка
Implicit conversion from data type varchar to varbinary is not allowed. Use the CONVERT function to run this query.


с чего вы вообще решили, что проблема с битовым полем?
29 апр 16, 13:59    [19121856]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
iap
Member

Откуда: Москва
Сообщений: 47045
noobs
AlanDenton,
не изменилось
А почему у меня работает?
IF OBJECT_ID(N'tempdb..#T','U') IS NOT NULL DROP TABLE #T;
CREATE TABLE #T(X BIT NULL);
INSERT #T(X) VALUES('TRUE');
SELECT * FROM #T;
IF OBJECT_ID(N'tempdb..#T','U') IS NOT NULL  DROP TABLE #T;
29 апр 16, 14:00    [19121858]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
DECLARE @t TABLE (id INT, b BIT)
INSERT INTO @t
VALUES
    (1, CONVERT (BIT, 'TRUE')),
    (2, 'TRUE'),
    (3, 'FALSE')

INSERT INTO @t
VALUES
    (4, 0),
    (5, 1),
    (6, 665) -- = 1

SELECT * FROM @t

Все работает. Версию сервера и DDL таблицы можно?
29 апр 16, 14:05    [19121898]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4392
iap
noobs
AlanDenton,
не изменилось
А почему у меня работает?
IF OBJECT_ID(N'tempdb..#T','U') IS NOT NULL DROP TABLE #T;
CREATE TABLE #T(X BIT NULL);
INSERT #T(X) VALUES('TRUE');
SELECT * FROM #T;
IF OBJECT_ID(N'tempdb..#T','U') IS NOT NULL  DROP TABLE #T;

Потому, что неверно истолковали автора

Нужно так

IF OBJECT_ID(N'tempdb..#T','U') IS NOT NULL DROP TABLE #T;
CREATE TABLE #T(X VARBINARY(1) NULL);
INSERT #T(X) VALUES('TRUE');
SELECT * FROM #T;
IF OBJECT_ID(N'tempdb..#T','U') IS NOT NULL  DROP TABLE #T;
29 апр 16, 14:06    [19121905]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4392
Тогда и получим нужную ошибку:
Implicit conversion from data type varchar to varbinary is not allowed. Use the CONVERT function to run this query.
29 апр 16, 14:08    [19121911]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
SQL2008
Потому, что неверно истолковали автора

noobs
bit

Мне так кажется автор впаривает нам какую-то дичь. DDL в студию иначе это треш получается какой-то.
29 апр 16, 14:09    [19121915]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
noobs
Guest
iljy,
Спасибо большое за подсказку, в UserName непопал в varchar и выбрал varbinary полностью оправдав свой ник :)
29 апр 16, 14:10    [19121922]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4392
noobs
Добрый день, подскажите как вставить 1/true в битовое поле?
  Insert into agree (AgreeKur,DateAgreeKur,typeUser,username,idPlan) 
  values (Select CONVERT (bit, 'true'), '2016-04-29 11:10:40', 'test', 'test', '166')


Выходит ошибка
Implicit conversion from data type varchar to varbinary is not allowed. Use the CONVERT function to run this query.


Пересмотрите поля typeUser,username,idPlan, найдите то, которое имеет тип varbinary (не удивлюсь, если их будет несколько )
и сделайте выводы.
29 апр 16, 14:11    [19121927]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
noobs
Guest
Всем большое спасибо что так быстро ответили и потратили свое время.
29 апр 16, 14:12    [19121932]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Веселый вы народ... запрос даже кинул чтобы просто выполнили и сказали. Зачем отсебятину писать?
29 апр 16, 14:12    [19121936]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
SQL2008
Member

Откуда: Москва
Сообщений: 4392
AlanDenton
SQL2008
Потому, что неверно истолковали автора

noobs
bit

Мне так кажется автор впаривает нам какую-то дичь.

Я имел в виду, что ТС смотрит не туда, куда нужно.
29 апр 16, 14:14    [19121954]     Ответить | Цитировать Сообщить модератору
 Re: Поле bit  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
SQL2008 вопрос последний не к Вам относился. Верно все подмечено :)
29 апр 16, 14:26    [19122025]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить