![]() |
1
12
varbinary(128)是一个128字节的内存块。int是一个4字节的内存块。所以你可以这样恢复int:
varbinary中的var表示实际长度不同,括号中的数字仅指定最大大小。因此,这个select语句显示一个4字节的varbinary:
但是当您将context_info()强制转换为varbinary(128)时,实际上会得到一个128字节的varbinary。这个例子是一个很好的演示:
这将打印256;整数1的最后3个字节,并附加一个0字节。 |
![]() |
2
3
|
![]() |
3
3
答案似乎是来自Andomar和GBN的建议和我的一位同事的建议的结合。 如果您使用二进制(128)而不是varbinary(128),那么一切都会更简单。 查询
结果
所以,那里 是 如果传入varbinary(128)值,则使转换生效的方法,但它需要双重转换。如果传入一个二进制(128)值,则只需要进行一次转换。 |
|
Johnny T · 基于当前值的SQL合并表[重复] 5 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 5 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 5 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 5 月前 |
![]() |
Sax · 规范化Google表格(第一步) 5 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 5 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 6 月前 |