Friday, 15 February 2013

sql - Create dynamic date filename using a stored procedure and a datetime variable -



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