【发布时间】:2014-02-21 10:47:50
【问题描述】:
我想将一个长字符串(稍后是 json)转换为二进制数据,以在 Service Broker 中将其作为消息发送。现在我对字符串长度有疑问,因为它在几个字符后被剪掉了。
declare @astring varbinary(MAX) = CONVERT(varbinary(MAX), 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.');
当我将它转换回 varchar 时
convert(varchar(MAX), @longerstring)
结果是 126 个字符:“Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliq”。
我也尝试了 varchar(8000),看不到改进..我做错了什么?谢谢。
【问题讨论】:
-
我在执行
select convert(varchar(MAX), @astring)的tsql中没有问题
标签: sql tsql converter varchar varbinary