曜日の有効性を表す0と1の文字列を持つDays列があります。これは、明確にするために、「MTWtFSs」(英語)や「LMmJVSD」などの文字列(言語によって異なります)にフォーマットまたは翻訳する必要があります。 (スペイン語)。
このコードは機能しますが、長すぎるようです。他のアイデアはありますか?
DECLARE @i INT = 0
,@DaysBits VARCHAR(7) = '110010'
,@DaysLetters VARCHAR(7) = ''
,@DaysMask VARCHAR(7) = 'MTWtFSs'
WHILE @i < 7
BEGIN
SET @i = @i + 1
IF ( SUBSTRING(@DaysBits, @i, 1) = 1 )
SET @DaysLetters = @DaysLetters + SUBSTRING(@DaysMask, @i, 1)
ELSE
SET @DaysLetters = @DaysLetters + '_'
END
SELECT @DaysBits AS 'Days Bits'
,@DaysLetters AS 'Days Letters'