使用以下sql查询,我将错误输入到我的数据库(Microsoft SQL Server 2008)表中:
INSERT INTO [dbo].[test]([ExampleWorking],[ExampleWrong])VALUES(0xFF, 0xFFFF)
而示例工作& ExampleWrong都是VARBINARY(max)
数据库中的结果是:
ExampleWorking = 0xFF ExampleWrong = 0x3F(我在这里期待0xFFFF)
我在这里想念什么? 我是SQL的新手,但它是数据类型。
答案 0 :(得分:0)
试试这个。
declare @varbinary varbinary(max), @hax varchar(max)
-- you can also cast hax to string or varbinary in this way
set @hax = '0xFFFF'
select @hax
select @varbinary = cast(@hax as varbinary(max) )
select @varbinary
select cast(@varbinary as varchar(max) )
答案 1 :(得分:0)
好的,我实际上解决了这个问题。这是HeidiSQL没有正确显示内容的问题。所以实际上在数据库中写了0xFFFF,但HeidiSQL(无论出于何种原因)在数据表视图中显示了0x3F ...
我实际上是懒得在HeidiSQL中查询它,但在我做之后,它显示我“yy”..然后在双击后它改为0xFFFF .....
无论如何,享受你的一天,感谢你的快速回复!
干杯!