[SQL Server] 文字列の空白埋めと 0 埋めを一行で実現
強引な方法だが、独自関数なしに実現してしまう方法。
文字列を 20 文字抜き出す。20 文字以下の場合は後ろを空白で埋める。
文字列を 20 文字抜き出す。20 文字以下の場合は後ろを空白で埋める。
SELECT CONVERT(NCHAR(20), 'SQLServer2014-') -- 結果(後ろに空白がある) : SQLServer2014-文字列を 20 文字抜き出し、かつ、20 文字以下の場合は後ろを '0' で埋める (擬似 RPAD)。
SELECT REPLACE(CONVERT(NCHAR(20), 'SQLServer2014-'), SPACE(1), '0') -- 結果 : SQLServer2014-000000文字列を 20 文字抜き出し、かつ、20 文字以下の場合は前を '0' で埋める (擬似 LPAD)。
SELECT REPLACE(REVERSE(CONVERT(NCHAR(20), REVERSE('SQLServer2014-'))), SPACE(1), '0') -- 結果 : 000000SQLServer2014-素直に関数を作ったほうがいいか……。