varchar 字符串转为 varbinary

原创 2007年10月13日 23:24:00

/*****************
网上看到文章讲varbinay转varchar比较多,自己参考别人做一个相反的
varchar(64) ->varbinary
******************/
Create function fnGetBinary
(@strSource varchar(64))
returns varbinary(64)
as
begin
declare @varBinDest varbinary(64)
declare @iTextPos tinyint
set @iTextPos = 1

-- 0~9 48
-- A~F 65

while (@iTextPos < DataLength(@strSource))
begin
declare @asciiVal tinyint
declare @oneByte tinyint
set @asciiVal = ascii(substring(@strSource, @iTextPos,1))

--产生字母二进制值
if @asciiVal < 65
set @oneByte = @asciiVal - 48
else
set @oneByte = @asciiVal - 65 + 10

set @iTextPos = @iTextPos + 1

set @asciiVal = ascii(substring(@strSource, @iTextPos,1))

if @asciiVal < 65
set @oneByte = @oneByte*16 + @asciiVal - 48
else
set @oneByte = @oneByte*16 + @asciiVal - 65 + 10



if @iTextPos = 2
set @varBinDest = cast(@oneByte as binary(1))
else
set @varBinDest = @varBinDest + cast(@oneByte as binary(1))
set @iTextPos = @iTextPos + 1

end

return @varBinDest
end 

 

 

更多请访问本人站点:

http://www.caochunhua.com.cn

http://www.livecoach.cn

 

Delphi常用字符串函数

一、字符转换函数 1、ASCII() 返回字符表达式最左端字符的ASCII 码值。在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错。 2、C...
  • wozengcong
  • wozengcong
  • 2013年09月28日 22:40
  • 1081

MSSQL 关于16进制与字符串以及10进制的简单转换,以及SQL的16进制的截取

关于数据库的16进制类型转换,其实在数据库里面没有16进制这个类型,它用的都是2进制类型varbinary存储16进制的数据,特别是要转成10进制的时候,那就只能16进制->2进制->10进制。   ...
  • qq811616536
  • qq811616536
  • 2015年09月23日 16:15
  • 2194

Sybase 转换格式 convert(varchar(10),字段名,转换格式)

转自:http://blog.sina.com.cn/s/blog_8297f0d001013uqf.html   convert(varchar(10),字段名,转换格式) sybase下co...
  • liu76xt
  • liu76xt
  • 2015年05月27日 09:40
  • 6353

char、varchar、binary和varbinary的区别与联系

char使用固定长度的空间进行存储,char(4)存储4个字符,根据编码方式的不同占用不同的字节,gbk编码方式,不论是中文还是英文,每个字符占用2个字节的空间,utf8编码方式,每个字符占用3个字节...
  • sinat_34439107
  • sinat_34439107
  • 2017年04月17日 17:58
  • 262

了解SQLServer中varchar(max)、nvarchar(max)和varbinary(max)

了解SQLServer中varchar(max)、nvarchar(max)和varbinary(max) 转载于:http://www.poorren.com/sqlserver-2005-v...
  • lingxyd_0
  • lingxyd_0
  • 2014年12月21日 08:47
  • 6505

SQL Server 中,实现 varbinary 与 varchar 类型之间的数据转换

在工控应用上,返回的数据经常会以二进制的形成存储,而这些二进制数据又是以每4个bit表示一个十六进制的数据内容。 解析的时候,往往是一个字节(Byte)占用8个位(bit),高位4bit 表示一个十六...
  • u012002840
  • u012002840
  • 2014年02月14日 14:59
  • 511

SQL Server 中,实现 varbinary 与 varchar 类型之间的数据转换

在工控应用上,返回的数据经常会以二进制的形成存储,而这些二进制数据又是以每4个bit表示一个十六进制的数据内容。 解析的时候,往往是一个字节(Byte)占用8个位(bit),高位4bit 表示一个十...
  • xiaonanxiatian
  • xiaonanxiatian
  • 2012年10月22日 11:32
  • 417

sql server - varchar(max), NVARCHAR(MAX), VARBINARY(MAX) (zz)

Frequently Asked Questions - SQL Server 2005 - VARCHAR(MAX), NVARCHAR(MAX), VARBINARY(MAX) //z 2012...
  • is2120
  • is2120
  • 2012年08月01日 14:11
  • 1564

sql-varbinary转换成字符串

  • 2011年04月09日 09:42
  • 609B
  • 下载

数据库varbinary字符串乱码问题

最近在用Python连接SqlServer数据库,从数据库返回的字段出现乱码问题。乱码形式如下: 'A\x04\x96\xb58\xe8SQ\x9crj,\x91\xe6\x1e\xc1\x16\x0...
  • koko2015c
  • koko2015c
  • 2017年07月21日 22:10
  • 387
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:varchar 字符串转为 varbinary
举报原因:
原因补充:

(最多只允许输入30个字)