Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 как записать в поле NULL временной таблицы?  [new]
ВячеславЛ
Member

Откуда: г.Новочеркасск, Ростовская обл.
Сообщений: 453
select 0 as n_kamp,0 as cge_kamp,0 as pech,0 as kam, getdate() as data_chistka, getdate() as data_zagr,  getdate() as data_vkl, getdate() as data_otkl 
into #re1

insert into #re1
select isnull(n_kamp,0),cge_kamp, pech, 1, isnull(data_chistka,0), isnull(data_zagr,0), isnull(data_vkl,0), isnull(data_otkl,0) 


как в поля типа datetime вставить значение NULL?

вместо
select isnull(n_kamp,0),cge_kamp, pech, 1, isnull(data_chistka,0), isnull(data_zagr,0), isnull(data_vkl,0), isnull(data_otkl,0)

вставить
select isnull(n_kamp,0),cge_kamp, pech, 1,null,null,null,null
20 ноя 13, 14:04    [15161540]     Ответить | Цитировать Сообщить модератору
 Re: как записать в поле NULL временной таблицы?  [new]
Glory
Member

Откуда:
Сообщений: 104751
ВячеславЛ
вместо
select isnull(n_kamp,0),cge_kamp, pech, 1, isnull(data_chistka,0), isnull(data_zagr,0), isnull(data_vkl,0), isnull(data_otkl,0)


вставить
select isnull(n_kamp,0),cge_kamp, pech, 1,null,null,null,null

Именно так и сделать
20 ноя 13, 14:08    [15161578]     Ответить | Цитировать Сообщить модератору
 Re: как записать в поле NULL временной таблицы?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
ВячеславЛ,

Создайте структуру временной таблицы при помощи CREATE TABLE.
20 ноя 13, 14:10    [15161600]     Ответить | Цитировать Сообщить модератору
 Re: как записать в поле NULL временной таблицы?  [new]
ВячеславЛ
Member

Откуда: г.Новочеркасск, Ростовская обл.
Сообщений: 453
Glory,

Cannot insert the value NULL into column 'data_chistka', table 'tempdb.dbo.#re1________________________________________________________________________________________________________________0000000017D7'; column does not allow nulls. INSERT fails.
20 ноя 13, 14:10    [15161608]     Ответить | Цитировать Сообщить модератору
 Re: как записать в поле NULL временной таблицы?  [new]
Glory
Member

Откуда:
Сообщений: 104751
ВячеславЛ
Cannot insert the value NULL into column 'data_chistka', table 'tempdb.dbo.#re1________________________________________________________________________________________________________________0000000017D7'; column does not allow nulls. INSERT fails.

Если в таблицу _запрещено_ добавлять null-ы, то записать их туда не получится никак
20 ноя 13, 14:12    [15161632]     Ответить | Цитировать Сообщить модератору
 Re: как записать в поле NULL временной таблицы?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Или вот такой "хак" возможен:
select getdate() a
into #tmp
union all
select null where 1=0
20 ноя 13, 14:13    [15161635]     Ответить | Цитировать Сообщить модератору
 Re: как записать в поле NULL временной таблицы?  [new]
ВячеславЛ
Member

Откуда: г.Новочеркасск, Ростовская обл.
Сообщений: 453
Glory
ВячеславЛ
Cannot insert the value NULL into column 'data_chistka', table 'tempdb.dbo.#re1________________________________________________________________________________________________________________0000000017D7'; column does not allow nulls. INSERT fails.

Если в таблицу _запрещено_ добавлять null-ы, то записать их туда не получится никак


можно ли разрешить нулы во временной таблицы без создания структуры?
20 ноя 13, 14:16    [15161666]     Ответить | Цитировать Сообщить модератору
 Re: как записать в поле NULL временной таблицы?  [new]
o-o
Guest
declare @t table(n_kamp int, cge_kamp int, pech int);
insert into @t values (1, 1, 1);

select 0 as n_kamp,0 as cge_kamp,
       0 as pech,0 as kam, 
       cast(null as datetime) as data_chistka, 
       cast(null as datetime) as data_zagr,  
       cast(null as datetime) as data_vkl, 
       cast(null as datetime) as data_otkl 
into #re1
where 1 = 0;

insert into #re1
select isnull(n_kamp,0),cge_kamp, pech, 1,null,null,null,null
from @t

select *
from #re1
------------------------
n_kamp	cge_kamp	pech	kam	data_chistka	data_zagr	data_vkl	data_otkl
1	1	1	1	NULL	NULL	NULL	NULL
20 ноя 13, 14:18    [15161685]     Ответить | Цитировать Сообщить модератору
 Re: как записать в поле NULL временной таблицы?  [new]
ВячеславЛ
Member

Откуда: г.Новочеркасск, Ростовская обл.
Сообщений: 453
o-o
declare @t table(n_kamp int, cge_kamp int, pech int);
insert into @t values (1, 1, 1);

select 0 as n_kamp,0 as cge_kamp,
       0 as pech,0 as kam, 
       cast(null as datetime) as data_chistka, 
       cast(null as datetime) as data_zagr,  
       cast(null as datetime) as data_vkl, 
       cast(null as datetime) as data_otkl 
into #re1
where 1 = 0;

insert into #re1
select isnull(n_kamp,0),cge_kamp, pech, 1,null,null,null,null
from @t

select *
from #re1
------------------------
n_kamp	cge_kamp	pech	kam	data_chistka	data_zagr	data_vkl	data_otkl
1	1	1	1	NULL	NULL	NULL	NULL


Спасибо большое Вам и cast'y. Получилось
20 ноя 13, 14:21    [15161714]     Ответить | Цитировать Сообщить модератору
 Re: как записать в поле NULL временной таблицы?  [new]
Glory
Member

Откуда:
Сообщений: 104751
ВячеславЛ
Спасибо большое Вам и cast'y. Получилось

Это лучше чем
create table #re1 ( n_kamp int, ...) ?
20 ноя 13, 14:23    [15161728]     Ответить | Цитировать Сообщить модератору
 Re: как записать в поле NULL временной таблицы?  [new]
o-o
Guest
Glory,
некоторые религии не позволяют...
20 ноя 13, 14:25    [15161740]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить