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

如何在sqlserver2005 定义 默认值 是 当前日期 但是不带时间
如何在sqlserver2005   定义   默认值   是   当前日期   但是不带时间(不是GetDate(),因为它带时间,还精确到秒,用T-Sql定义默认值)???

------解决方案--------------------
select substring(cast(getdate() as varchar) , 1,10)

------解决方案--------------------
使用计算列?
公式:(CONVERT([varchar](10),getdate(),(120)))
------解决方案--------------------
declare @a nvarchar(10)
select @a=Convert(nvarchar(10),getdate(),21)
print @a
------解决方案--------------------
DECLARE @dt datetime
SET @dt=GETDATE()

--1.短日期格式:yyyy-m-d
SELECT REPLACE(CONVERT(varchar(10),@dt,120),N '-0 ', '- ')

--2.长日期格式:yyyy年mm月dd日
--A. 方法1
SELECT STUFF(STUFF(CONVERT(char(8),@dt,112),5,0,N '年 '),8,0,N '月 ')+N '日 '
--B. 方法2
SELECT DATENAME(Year,@dt)+N '年 '+DATENAME(Month,@dt)+N '月 '+DATENAME(Day,@dt)+N '日 '

--3.长日期格式:yyyy年m月d日
SELECT DATENAME(Year,@dt)+N '年 '+CAST(DATEPART(Month,@dt) AS varchar)+N '月 '+DATENAME(Day,@dt)+N '日 '