码迷,mamicode.com
首页 > 数据库 > 详细

用SQL Server的CAST()函数获得GB2312和UTF8两种编码

时间:2014-12-19 14:21:59      阅读:858      评论:0      收藏:0      [点我收藏+]

标签:

CAST()函数的参数类型变化,为中文返回两种不同的编码:

SELECT CAST(‘汉字‘ AS VARBINARY) AS [GB2312];   

       --相当于 CAST(CAST(N‘汉字‘ AS   VARCHAR(4)) AS VARBINARY)

SELECT CAST(N‘汉字‘ AS VARBINARY) AS [UTF-8];    

        --相当于 CAST(CAST(N‘汉字‘ AS NVARCHAR(2)) AS VARBINARY)

 

返回结果(二进制类型):

GB2312
0xBABAD7D6

UTF-8
0x496C575B

通过master.sys.fn_varbintohexsubstring()函数能得到相应的十六进制编码。如:

SELECT master.sys.fn_varbintohexsubstring(0, 0xBABAD7D6 ,1,0) AS [GB2312] --返回字符串:BABAD7D6

SELECT master.sys.fn_varbintohexsubstring(0, 0x496C575B,  1,0) AS [UTF-8]    --返回字符串:496C575B

 

备注:

master.sys.fn_varbintohexstr()函数和 master.sys.fn_varbintohexsubstring() 只能转换不大于2,147,483,647( int 类型)的二进制数,参见:http://www.cnblogs.com/gaizai/p/4001016.html

用SQL Server的CAST()函数获得GB2312和UTF8两种编码

标签:

原文地址:http://www.cnblogs.com/sealine/p/4173768.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!