zoukankan      html  css  js  c++  java
  • sql 根据一个表更新 另一个表的例子及可能遇到的问题

    例子:

    update a set a.name=b.name1 from a,b where a.id=b.id

    例子延伸:更新的时候会把字符串 转为科学计数法  怎么办?

    答:用 cast 转换一下 ,或者双cast

    update LoaneeExpand  set LoaneeExpand.phone=cast(cast(tt.PHONE as decimal(18,0))  as  nvarchar(50))  from LoaneeExpand ,tt  where  LoaneeExpand .id=tt.id

    例子再次深入延伸问题:更新时

    String or binary data would be truncated.
    The statement has been terminated.

    字符串或二进制数据将被截断。
    该语句已终止。  怎么办 ?

    很明显 就是你要更新的表的 字段长度不够 , 可是查询表 b的 所有真实 长度 len(b.name) <20 .. 都符合 表a 的字段长度啊,这是为什么?

    答 :更新表a时 ,并是不按照 表b的真实长度 计算的,而是按照表b字段的定义长度 ,所有把表a需要修改的字段长度,按照表b的字段长度 设定就好了。

  • 相关阅读:
    取三级分销上下级用户id
    Map集合
    Log4j
    异常
    逻辑运算符
    变量
    变量名命名规则
    命名法
    Nessus
    Nmap扫描工具
  • 原文地址:https://www.cnblogs.com/yangjinwang/p/4586014.html
Copyright © 2011-2022 走看看