Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何将varchar转换为varbinary,其中每个字符后跟一个空字符?_Sql Server_Type Conversion - Fatal编程技术网

Sql server 如何将varchar转换为varbinary,其中每个字符后跟一个空字符?

Sql server 如何将varchar转换为varbinary,其中每个字符后跟一个空字符?,sql-server,type-conversion,Sql Server,Type Conversion,在SQL Server中,以下查询 SELECT CONVERT(VARBINARY,'1234'); 返回0x31323334 为了返回0x3100320033003400,我可以在查询中执行什么操作 到目前为止,我可以在C++中这样做,然后在查询中使用它,但我想知道是否有更清洁的方法来做这件事(即在查询中放入原始字符串并让SQL执行这项工作)。 也许有一种转换方法告诉SQL“1234”中的每个字符都必须被视为两字节字符。也许有一种分裂和结合的方式。我找不到方法,到目前为止,我尝试了两种方法

在SQL Server中,以下查询

SELECT CONVERT(VARBINARY,'1234');
返回
0x31323334

为了返回
0x3100320033003400
,我可以在查询中执行什么操作

到目前为止,我可以在C++中这样做,然后在查询中使用它,但我想知道是否有更清洁的方法来做这件事(即在查询中放入原始字符串并让SQL执行这项工作)。


也许有一种转换方法告诉SQL“1234”中的每个字符都必须被视为两字节字符。也许有一种分裂和结合的方式。我找不到方法,到目前为止,我尝试了两种方法。

将其转换为
nvarchar
,然后转换为
varbinary
,因为
nvarchar
使用双字节存储字符:

选择CONVERT(VARBINARY(8),CONVERT(nvarchar(4),'1234');

或者,如果它总是一个文本,只需在它前面加一个
nvarchar
符号字符(
N
)。

将其转换为
nvarchar
,然后再加一个
varbinary
,因为
nvarchar
使用双字节存储字符:

选择CONVERT(VARBINARY(8),CONVERT(nvarchar(4),'1234');
或者,如果它总是一个文本,只需在它前面加一个
nvarchar
符号字符(
N