zoukankan      html  css  js  c++  java
  • Sqlserver 报错“参数数据类型 ntext/text 对于 replace 函数的参数 1 无效”的解决方案及原理分析扩展

    原因:在数据查询中replace函数无法对表table中text/ntext类型的字段colname进行了字符串操作。

    解决方法:将text当作varchar(实际内容长度低于8000字节时)或把ntext当作nvarchar(实际内容长度低于4000字节时)。

    但是当text字段内容长度超过8000或ntext字段内容长度超过4000字节时多出的字节会被截断而忽略掉。

    这时我们可以使用max类型来解决这个问题。

    原报错代码:

    1
    update tablename set colname=replace(colname,'oldtext','newtext'); 

    修改后可执行代码:

    1
    update tablename set colname=replace(Cast(colname as varchar(8000)),'oldtext','newtext');
    1
    update tablename set colname=replace(Cast(colname as nvarchar(4000)),'oldtext','newtext');
  • 相关阅读:
    魔术方法之__call与__callStatic方法
    thinkphp5 实现搜索分页能下一页保留搜索条件
    koa2
    mongodb
    nodejs
    小程序
    Vue学习
    js4
    扎心!来自互联网er的2019年度总结,看完笑着流泪……
    谈谈“奋斗逼!”
  • 原文地址:https://www.cnblogs.com/xiaoguozi/p/12656381.html
Copyright © 2011-2022 走看看