相当菜的问题,获取时间……
我想获取一个生成记录的时间 将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)是对的