sql不是有自带的吗??select CONVERT(varchar(10), getDate(),120) --不要时间2002-1-1
select convert(char(8),getdate(),112) ----20020101
select convert(char(8),getdate(),108) ---06:05:05
select convert(char(8),getdate(),112) ----20020101
select convert(char(8),getdate(),108) ---06:05:05
RETURNS varchar(100) AS
BEGIN
Declare @string varchar(100)
if @dt is null --如果为空返回空格
set @string = ' '
else
begin
declare @month varchar(10)
declare @day varchar(10) if DatePart(mm,@dt)>=10
set @month=DateName(mm,@dt)
else
set @month='0'+DateName(mm,@dt) if DatePart(dd,@dt)>=10
set @day=DateName(dd,@dt)
else
set @day='0'+DateName(dd,@dt) set @string=DateName(yyyy,@dt)+@month+@day
End
return(@string)
END
go
定义VARChar()字符长度后是可以运行正确
那么为什么省略了长度就出错,是不是默认长度的问题呢?