zoukankan      html  css  js  c++  java
  • sql server中单引号拼接字符串(书写错误会出现错误"浮点值 XXXX 超出了计算机表示范围(8 个字节)。“XX”附近有语法错误。")

    " ' "(单引号)的运用:在sql server中,两个" ' "(单引号)在拼接字符串的情况下运用,就是表示拼接上了一个" ' "单引号字符串。

    在此列举出正确的写法:

    set @sql = 'update #temp_monthKQ_Users set day'+@curruntCount+'='''+@descTemp+''' where user_id = '''+@user_id+''' ';

    错误的写法如下:

    set @sql = 'update #temp_monthKQ_Users set day'+@curruntCount+'='''+@descTemp+''' where user_id = '''+@user_id+'';
    // 变量@user_id后面少了2个引号,因此把print(@sql) 之后的字符串最右边少了个" ' "(单引号),所以后面必须要加2个" ' "(单引号)才不会丢失拼接的" ' "单引号。

    执行了@sql之后错误便会如下图所示:

    倘若对于varchar类型的变量(这里是@user_id)不加单引号如下所写也会报错(并且sql server在识别上会把@user_id当做浮点数,限制8个字节,截断成为8位字符串的字段):

    set @sql = 'update #temp_monthKQ_Users set day'+@curruntCount+'='''+@descTemp+''' where user_id = '+@user_id+;

    如下:bc460011就是被截断的字符串, @user_id变量在此刻的值为:4028e5855335612201533573bc460011。

    如图是正确写法:

  • 相关阅读:
    关于 JLRoutes
    关于Objection 框架或解耦合方案
    窥探 NSObject
    关于cocoa 运行时runtime
    关于 cocoapods 使用
    关于Xcode 遇到的 警告、错误 处理
    ios 中正则匹配 ,NSPredicate
    关于状态栏 上颜色配置 ios7.x 之后
    使用ios系统侧滑 7.x 之后
    常用的shell脚本
  • 原文地址:https://www.cnblogs.com/YangK-java/p/5258110.html
Copyright © 2011-2022 走看看