Итак, я пытаюсь создать хранимую процедуру в SQL Server, которая отправляет электронное письмо, отформатированное так, чтобы оно выглядело определенным образом. Я хочу, чтобы это выглядело следующим образом:
##date## ##credit##
##debit##
Где точно совпадают столбцы дебета и кредита. Проблема в том, что все, что я пробую, приводит к:
##date## ##credit##
##debit##
Я пробовал:
declare @lineText nvarchar(max) =
CONCAT(CONCAT(right(replicate(' ',25) + '##date##',25), 'Debit: $##debit##')
, char(13)
, CONCAT(right(replicate(' ',25) + ' ',25), 'Credit: $##credit##'));
И:
declare @lineText nvarchar(max) =
CONCAT(CONCAT(LEFT('##date##' + replicate(' ', 25), 25), 'Debit: $##debit##')
, char(13)
, CONCAT(LEFT('' + replicate(' ', 25), 25), 'Credit: $##credit##'));
И:
declare @lineText nvarchar(max) =
CONCAT(CONCAT(LEFT('##date##' + space(30), 30), 'Debit: $##debit##')
, char(13)
, CONCAT(LEFT('' + space(30), 30), 'Credit: $##credit##'));
И:
declare @lineText nvarchar(max) =
CONCAT(CONCAT(CAST('##date##' as CHAR(30)), 'Debit: $##debit##')
, char(13)
, CONCAT(CAST('' as CHAR(30)), 'Credit: $##credit##'));
Ничто не заставляет столбцы выстраиваться в ряд. Как создать строку, в которой фактически совпадают столбцы кредита и дебета?
Я хочу, чтобы пробел в нижней строке содержал то же количество пробелов, что и дата в верхней строке.
Спасибо.