> 데이터 베이스 > MySQL 튜토리얼 > 讨论贴:Sqlserver varbinary 是二进制数据,却是十六进制的表现

讨论贴:Sqlserver varbinary 是二进制数据,却是十六进制的表现

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-07 15:40:58
원래의
1704명이 탐색했습니다.

首先创建一个数据表 CREATE TABLE [dbo].[log_info]( [id] [ int ] IDENTITY( 1 , 1 ) NOT NULL, [info] [varchar]( 50 ) NULL, [info1] [varbinary]( 50 ) NULL, [imagecol] [image] NULL, [binarycol] [binary]( 10 ) NULL) 向表中插入二进制数据: insert

首先创建一个数据表

<span>CREATE TABLE [dbo].[log_info](
 [id] [</span><span>int</span>] IDENTITY(<span>1</span>,<span>1</span><span>) NOT NULL,
 [info] [varchar](</span><span>50</span><span>) NULL,
 [info1] [varbinary](</span><span>50</span><span>) NULL,
 [imagecol] [image] NULL,
 [binarycol] [binary](</span><span>10</span><span>) NULL
)</span>
로그인 후 복사


向表中插入二进制数据:

<span>insert into [log_info]
</span><span>default</span><span> values

update [log_info]
</span><span>set</span><span>
info1 </span>= convert(varbinary(<span>50</span>),<span>'</span><span>aaaaa</span><span>'</span><span>),
imagecol </span>= convert(varbinary(<span>50</span>),<span>'</span><span>aaaaa</span><span>'</span><span>)

</span><span>select</span> * <span>from</span> [log_info]
로그인 후 복사

会发现展示出来的十六进制数据

讨论贴:Sqlserver varbinary 是二进制数据,却是十六进制的表现

而我们在编辑数据窗口中可以看到,实际存储的是二进制数据

讨论贴:Sqlserver varbinary 是二进制数据,却是十六进制的表现

出现这种差异,我的理解是计算机对于二进制数据的操作是最好的,所以存储的时候首选是二进制。

但是在表示的时候,4位二进制数可以表示1位十六进制数,在表示上更简短直观。

以上是我的理解,欢迎大家一起讨论。

 

PS:Text/Image被放在Lob页面里,varchar(max),nvarchar(max),varbinary(max)存储在Row-Overflow(行溢出)页面里。

 

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿