zoukankan      html  css  js  c++  java
  • 关于SSMS显示select出来的数据行的疑问

    调试存储过程时,往往可以用print将存储过程中的变量print出来,

    但是print出来的字符串有一定长度限制,刚才专门试了一下,应该是4000个字符

    如果超过4000个字符,超长的字符会被自动截断,这一点应该比较清楚。

    对于超过4000的字符串没办法print出来的时候,往往可以选择select @v_str这种方式,将后台的字符串select出来,然后粘贴出来查看

    但是今天发现不好使了,

    注意字符串是"aaaaa…………bbbbb",结尾时bbbbb

    我随意定义一个超级长的字符串,可以看出来len是87049,同时用select @str 给他select 出来

     

    但是我从查询结果select @str的结果中,将这个字符串复制出来之后,字符串的长度就被截断了,我从上面select出来的结果中复制

    新贴到一个查询窗口中,发现结尾不是上面定义时候的bbbbb,如截图,通过select len这个字段,发现是长度是43677

     

    因为今天遇到了类似的问题,调试存储过程的时候,对于存储过程中处理的字符串,因为print会被截断,那么就select出来,

    然后复制select出来的结果到一个新窗口中,发现字符串结尾跟处理字符串的逻辑对不上,

    比如我对字符串的处理是以分号结尾,实际上select出来然后粘贴出来查看,根本不是以分号结尾,

    而处理字符串的逻辑又很简单,断定可以不会有bug,

    那么肯定是从select中复制然后粘贴的时候出的错。

    尼玛我一开始试了n多次啊,简直不敢相信自己的眼睛。

     

    后面就干脆试一下,对于结果取len是没有问题的,长字符串select出来,然后再复制粘贴出来,中间就被截断了。

    单独地复制SSMS查询窗口中原始的字符串,也是没有问题的。

     

    这个怎么解释,还请高人指点一下。

     

    20160920补充:

    对于SSMS中查询出来的结果,retrieved有限制,最大值为65535,如下截图。

    验证起来很简单,比如:设置为20个字符串,select '一个长于20个字符的字符串',然后复制其结果,从grid中最多可以复制20个字符

    但是这个仅仅是显示问题,不会影响到其逻辑运算。

     

     

     

  • 相关阅读:
    微信平台的开发与集成
    自定义控件定义样式
    Android万能分辨率适应法
    Openfire配置过程,以及与php交互注意事项。
    Android 最近的一些新的功能
    自定义Ratingbar 评分控件
    解决android有的手机拍照后上传图片被旋转的问题
    Fragment 嵌套使用 Activity has been destoryed
    实现图文混排方法 类似于网易那样的
    Android 自定义View及其在布局文件中的使用示例
  • 原文地址:https://www.cnblogs.com/wy123/p/5849766.html
Copyright © 2011-2022 走看看