日期:2014-05-19  浏览次数:20437 次

相当菜的问题,获取时间……
我想获取一个生成记录的时间   将logintime字段   设为   Datetime类型   设置默认值为(getdate()),结果效果达到了   结果如:2007-3-23   13:50:11,但我只要取2007-3-23,又怎么设置默认值呢   请指点。

------解决方案--------------------
getdate()改为convert(varchar(10),getdate(),120)
------解决方案--------------------
create table tb(id int identity(1,1),b datetime default(convert(varchar(10),{fn now()},120)),c varchar(10))
insert into tb(c) select 'a '
union all select 'b '
union all select 'c '
select * from tb
------解决方案--------------------
sqlserver中没有单独的日期型,时间值无法去除,除非你用字符型吧.
------解决方案--------------------
formatdatetime(now, 1)行吗
------解决方案--------------------
不行啊 convert(varchar(10),getdate(),120)生成的结果为
2007-3-23 0:00:00
=========================================
不可能,都已经定好了10位,这里出现了10+位了~


------解决方案--------------------
要是向类型为Datetime的字段logintime,插入数据:
convert(varchar(10),getdate(),120)
自然是:2007-3-23 0:00:00

我正常现象,要是只想要2007-3-23,在查询的时候可以使用
convert(varchar(10),字段logintime,120)来转换。

也可以设置字段logintime的数据类型为varchar(10)


------解决方案--------------------
convert(varchar(10),getdate(),120)是对的