在SSMS中打印出箱形图字符(extended-ascii)

时间:2018-12-20 15:44:26

标签: sql sql-server database tsql

我想在SSMS的“输出”消息中打印框绘图字符。它包括例如║或░或╬。 我脑海中有完整的字符列表,可以找到here

当我尝试以下操作时:PRINT '╬'仅在我期望+时返回

当我执行SELECT ASCII('╬')时,它返回43,但是当我执行SELECT CHAR(43)时,它返回({并不奇怪)+

与整理有关吗?如果是这样,我如何找到要使用的排序规则?

2 个答案:

答案 0 :(得分:1)

SQL Server中的简单文字是-默认情况下为printers table: printer ID,printer ip, status,row_update_date A ,1.1.1.1 , A ,1.1.1.2 , A ,1.1.1.3 , A ,1.1.1.4 , B ,1.1.2.1 , B ,1.1.2.2 , 类型。此类型是 1字节编码的扩展ASCII :下半部分是 plain latin 字符集,上半部分取决于排序规则。这意味着,很少支持非标准字符。

第二个字符类型是CHAR / VARCHAR。这是(几乎)Unicode,非常接近NCHAR / NVARCHAR。实际编码为两字节编码的utf-16 。对非标准字符的支持(几乎)已经完成。以UCS-2开头的所有文字都将视为N

尝试一下:

NCHAR / NVARCHAR

获取代码点的功能(反之亦然)-也是双重的:

SELECT '╬',N'╬';

DECLARE @str1a VARCHAR(10)='╬';
DECLARE @str1b VARCHAR(10)=N'╬'; --The NVARCHAR literal is changed to VARCHAR
DECLARE @str2 NVARCHAR(10)=N'╬'; 

SELECT @str1a,@str1b,@str2;

答案 1 :(得分:0)

您需要先以Unicode进行打印,即以N为前缀:

PRINT N'╬'