Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
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] Ответить | Цитировать Сообщить модератору |
AlanDenton Member [скрыт] Откуда: Сообщений: 1004 |
SELECT может стоит убрать? |
29 апр 16, 13:50 [19121789] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
AlanDenton, или ехать или шашечки :) или VALUES или SELECT убрать |
29 апр 16, 13:52 [19121802] Ответить | Цитировать Сообщить модератору |
noobs
Guest |
AlanDenton, не изменилось |
29 апр 16, 13:57 [19121828] Ответить | Цитировать Сообщить модератору |
AlanDenton Member [скрыт] Откуда: Сообщений: 1004 |
Какой тип данных у AgreeKur? |
29 апр 16, 13:57 [19121838] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
noobs
Guest |
bit |
29 апр 16, 13:59 [19121854] Ответить | Цитировать Сообщить модератору |
PaulYoung Member Откуда: Москва Сообщений: 2565 |
|
||
29 апр 16, 13:59 [19121855] Ответить | Цитировать Сообщить модератору |
iljy Member Откуда: Сообщений: 8711 |
А вы ошибку-то читали вообще?
с чего вы вообще решили, что проблема с битовым полем? |
||
29 апр 16, 13:59 [19121856] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47045 |
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] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
SQL2008 Member Откуда: Москва Сообщений: 4392 |
Потому, что неверно истолковали автора Нужно так 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] Ответить | Цитировать Сообщить модератору |
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] Ответить | Цитировать Сообщить модератору |
AlanDenton Member [скрыт] Откуда: Сообщений: 1004 |
Мне так кажется автор впаривает нам какую-то дичь. DDL в студию иначе это треш получается какой-то. |
||||
29 апр 16, 14:09 [19121915] Ответить | Цитировать Сообщить модератору |
noobs
Guest |
iljy, Спасибо большое за подсказку, в UserName непопал в varchar и выбрал varbinary полностью оправдав свой ник :) |
29 апр 16, 14:10 [19121922] Ответить | Цитировать Сообщить модератору |
SQL2008 Member Откуда: Москва Сообщений: 4392 |
Пересмотрите поля typeUser,username,idPlan, найдите то, которое имеет тип varbinary (не удивлюсь, если их будет несколько ![]() и сделайте выводы. |
||
29 апр 16, 14:11 [19121927] Ответить | Цитировать Сообщить модератору |
noobs
Guest |
Всем большое спасибо что так быстро ответили и потратили свое время. |
29 апр 16, 14:12 [19121932] Ответить | Цитировать Сообщить модератору |
AlanDenton Member [скрыт] Откуда: Сообщений: 1004 |
Веселый вы народ... запрос даже кинул чтобы просто выполнили и сказали. Зачем отсебятину писать? |
29 апр 16, 14:12 [19121936] Ответить | Цитировать Сообщить модератору |
SQL2008 Member Откуда: Москва Сообщений: 4392 |
Я имел в виду, что ТС смотрит не туда, куда нужно. |
||||||
29 апр 16, 14:14 [19121954] Ответить | Цитировать Сообщить модератору |
AlanDenton Member [скрыт] Откуда: Сообщений: 1004 |
SQL2008 вопрос последний не к Вам относился. Верно все подмечено :) |
29 апр 16, 14:26 [19122025] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |