如何 return 来自 SQL 的 NVCHAR 字符串格式正确
How to return an NVCHAR string from SQL formatted correctly
在我们的业务中,我们有一个程序,我们可以 return 合并系统生成的电子邮件和信件的字段。
我正在尝试使用 NVCHAR
用光标编写一个,但发票列表的输出有问题,创建字符串的部分是:
BEGIN
IF ( @Schedule <> '' )
BEGIN
SET @Schedule = @Schedule + CHAR(10) + CHAR(13);
END;
SET @Schedule = @Schedule + CONVERT(VARCHAR(10), @InvoiceDate, 103)
+ ' | ' + CONVERT(VARCHAR(50), @InvoiceNumber) + CHAR(9) + ' | '
+ CONVERT(VARCHAR(600), @InvoiceDescrip) + CHAR(9) + ' | '
+ CONVERT(VARCHAR(10), @InvoiceAmount) + CHAR(13);
END;
现在因为发票编号和描述可以有不同的长度,它给合并字段的输出如下:
09/06/2014 | 1568 | Item 248 | 100.00
01/08/2014 | 123 | Item 23 | 100.00
18/08/2014 | Inv #12345 | Warehouse machine | 2000.00
我正在寻找的输出如下:
09/06/2014 | 1568 | Item 248 | 100.00
01/08/2014 | 123 | Item 23 | 100.00
18/08/2014 | Inv #12345 | Warehouse machine | 2000.00
希望这个问题是有道理的,我在别处搜索过但似乎找不到与此相关的内容。
感谢任何人对此提供的帮助。
SET @Schedule = @Schedule + CONVERT(VARCHAR(10), @InvoiceDate, 103)
+ ' | ' + CONVERT(CHAR(50), @InvoiceNumber) + CHAR(9) + ' | '
+ CONVERT(CHAR(600), @InvoiceDescrip) + CHAR(9) + ' | '
+ CONVERT(CHAR(10), @InvoiceAmount) + CHAR(13);
将 varchar 更改为您认为数据的最大长度的 char。 Char 将确保数据具有固定长度。
在我们的业务中,我们有一个程序,我们可以 return 合并系统生成的电子邮件和信件的字段。
我正在尝试使用 NVCHAR
用光标编写一个,但发票列表的输出有问题,创建字符串的部分是:
BEGIN
IF ( @Schedule <> '' )
BEGIN
SET @Schedule = @Schedule + CHAR(10) + CHAR(13);
END;
SET @Schedule = @Schedule + CONVERT(VARCHAR(10), @InvoiceDate, 103)
+ ' | ' + CONVERT(VARCHAR(50), @InvoiceNumber) + CHAR(9) + ' | '
+ CONVERT(VARCHAR(600), @InvoiceDescrip) + CHAR(9) + ' | '
+ CONVERT(VARCHAR(10), @InvoiceAmount) + CHAR(13);
END;
现在因为发票编号和描述可以有不同的长度,它给合并字段的输出如下:
09/06/2014 | 1568 | Item 248 | 100.00
01/08/2014 | 123 | Item 23 | 100.00
18/08/2014 | Inv #12345 | Warehouse machine | 2000.00
我正在寻找的输出如下:
09/06/2014 | 1568 | Item 248 | 100.00
01/08/2014 | 123 | Item 23 | 100.00
18/08/2014 | Inv #12345 | Warehouse machine | 2000.00
希望这个问题是有道理的,我在别处搜索过但似乎找不到与此相关的内容。
感谢任何人对此提供的帮助。
SET @Schedule = @Schedule + CONVERT(VARCHAR(10), @InvoiceDate, 103)
+ ' | ' + CONVERT(CHAR(50), @InvoiceNumber) + CHAR(9) + ' | '
+ CONVERT(CHAR(600), @InvoiceDescrip) + CHAR(9) + ' | '
+ CONVERT(CHAR(10), @InvoiceAmount) + CHAR(13);
将 varchar 更改为您认为数据的最大长度的 char。 Char 将确保数据具有固定长度。