11 个解决方案
#1
设定一个默认值
#2
这样是不可行的,因为我赋值时可能赋 ""空值.
#3
--insert into 的时候,改变时间格式,convert(varchar(10),时间字段,120)
--或者在插入前的时候,正确定义时间格式数据
--或者在插入前的时候,正确定义时间格式数据
#4
create table t(id int identity(1,1),dates datetime,name varchar(10))
insert into t(name) select null
select * from T
insert into t(name) select null
select * from T
#5
你为什么要赋""呢?
赋null不行吗?
赋null不行吗?
#6
就是哈!你用null就是了
#7
只要datetime列允许为空,且在insert操作时不对该列赋值或直接插入null即可。
#8
設置Default Value 為GetDate()
#9
insert操作时不对该列赋值或直接插入null即可
#10
create table tb
(
id int null,
name varchar(50) null,
times datetime null default('1900-1-1')
)
insert into tb (id,name)values(1,'a')
select * from tb
drop table tb
--测试结果
/*
(所影响的行数为 1 行)
id name times
----------- -------------------------------------------------- ------------------------------------------------------
1 a 1900-01-01 00:00:00.000
(所影响的行数为 1 行)
*/
(
id int null,
name varchar(50) null,
times datetime null default('1900-1-1')
)
insert into tb (id,name)values(1,'a')
select * from tb
drop table tb
--测试结果
/*
(所影响的行数为 1 行)
id name times
----------- -------------------------------------------------- ------------------------------------------------------
1 a 1900-01-01 00:00:00.000
(所影响的行数为 1 行)
*/
#11
你的数据库表设计时如果设置可以为null,则它就不会变为'1900-1-01'
如果设计时不可以为null,它就会默认为: '1900-01-01'
如果设计时不可以为null,它就会默认为: '1900-01-01'
#1
设定一个默认值
#2
这样是不可行的,因为我赋值时可能赋 ""空值.
#3
--insert into 的时候,改变时间格式,convert(varchar(10),时间字段,120)
--或者在插入前的时候,正确定义时间格式数据
--或者在插入前的时候,正确定义时间格式数据
#4
create table t(id int identity(1,1),dates datetime,name varchar(10))
insert into t(name) select null
select * from T
insert into t(name) select null
select * from T
#5
你为什么要赋""呢?
赋null不行吗?
赋null不行吗?
#6
就是哈!你用null就是了
#7
只要datetime列允许为空,且在insert操作时不对该列赋值或直接插入null即可。
#8
設置Default Value 為GetDate()
#9
insert操作时不对该列赋值或直接插入null即可
#10
create table tb
(
id int null,
name varchar(50) null,
times datetime null default('1900-1-1')
)
insert into tb (id,name)values(1,'a')
select * from tb
drop table tb
--测试结果
/*
(所影响的行数为 1 行)
id name times
----------- -------------------------------------------------- ------------------------------------------------------
1 a 1900-01-01 00:00:00.000
(所影响的行数为 1 行)
*/
(
id int null,
name varchar(50) null,
times datetime null default('1900-1-1')
)
insert into tb (id,name)values(1,'a')
select * from tb
drop table tb
--测试结果
/*
(所影响的行数为 1 行)
id name times
----------- -------------------------------------------------- ------------------------------------------------------
1 a 1900-01-01 00:00:00.000
(所影响的行数为 1 行)
*/
#11
你的数据库表设计时如果设置可以为null,则它就不会变为'1900-1-01'
如果设计时不可以为null,它就会默认为: '1900-01-01'
如果设计时不可以为null,它就会默认为: '1900-01-01'