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