sql - Create dynamic date filename using a stored procedure and a datetime variable -
i realise in cases trivial problem doesn't seem working me @ minute. have stored procedure creates datetime variable using datepart finction create string set filename. have borrowed piece of code outputs in format yyyymmdd need ddmmyyyy , simple reshuffle doesn't seem working. help appreciated.
@date datetime, @filename varchar(14) output /* year */ set @filename = convert(char(4),datepart(yy, @date)) /* months */ if datepart(mm, @date) <= 9 set @filename = @filename + '0'+ convert(char(1), datepart(mm, @date)) else set @filename = @filename + convert(char(2),datepart(mm, @date)) /* day */ if datepart(dd, @date) < =9 set @filename = @filename + '0'+ convert(char(1), datepart(dd, @date)) else set @filename = @filename + convert(char(2),datepart(dd, @date)) this borrowed code , tried rearrange follows yyyy part appears:
/* day */ if datepart(dd, @date) < =9 set @filename = @filename + '0'+ convert(char(1), datepart(dd, @date)) else set @filename = @filename + convert(char(2),datepart(dd, @date)) /* months */ if datepart(mm, @date) <= 9 set @filename = @filename + '0'+ convert(char(1), datepart(mm, @date)) else set @filename = @filename + convert(char(2),datepart(mm, @date)) /* year */ set @filename = convert(char(4),datepart(yyyy, @date)) upon inspection, have noticed issues code changed lack of + in /* year */ block , removed th if statements has not sorted issue:
/* day */ set @filename = convert(char(2),datepart(dd, @date)) /* months */ set @filename = @filename + convert(char(2),datepart(mm, @date)) /* year */ set @filename = @filename + convert(char(4),datepart(yy, @date))
would work you?
select replace(convert(varchar(10),@date,103),'/','') sql datetime sql-server-2005 dynamic filenames
No comments:
Post a Comment