zoukankan      html  css  js  c++  java
  • MSSQL批量替换语句 在SQL SERVER中批量修改替换数据

    方法一:(这种是最常用的,因为很多大段的内容都使用text ntext等数据类型,而我们通常也是替换里面的内容) 
    varchar和nvarchar类型是支持replace,所以如果你的text不超过8000可以先转换成前面两种类型再使用replace 
    替换 text ntext 数据类型字段的语句 
    复制代码 代码如下:
    update 表名 set 字段名=replace(cast(与前面一样的字段名 as varchar(8000)) ,'原本内容','想要替换成什么') 
    方法二:(替换其他数据类型字段的语句,实际应用中不常见) 
    复制代码 代码如下:
    update [表名] set 字段名 = replace(与前面一样的字段名,'原本内容','想要替换成什么') 
    以下是补充:
    1。如何批量替换ntext字段里面的数据 
    问题描述: 
    我想把数据库中News表中的字段content中的一些字符批量替换。 
    我的content字段是ntext类型的。 
    我想替换的字段是content字段,我想把里面的www.jb51.net替换成http://www.jb51.net,替换方法是: 
    update News 
    set content = replace(cast(content as varchar(8000)), 
    'www.jb51.net', 
    'http://www.jb51.net') 
    2。如何批量替换varchar和nvarchar类型 
    varchar和nvarchar类型是支持replace,所以如果你的text/ntext不超过8000/4000可以先转换成前面两种类型再使用replace。 
    update 表名 
    set text类型字段名=replace(convert(varchar(8000),text类型字段名),'要替换的字符','替换成的值') 
    update 表名 
    set ntext类型字段名=replace(convert(nvarchar(4000),ntext类型字段名),'要替换的字符','替换成的值') 
    不过上面的方法,对于text或ntext字段超过8000的时候就不能用了,一般可以用asp程序来实现,先读取内容替换后,保存到数据库中。
    临时解决方法:就是在生成静态的时间,可以先替换再输出,这里有个貌似不错的解决方法了,大家可以看下一篇文件啊。 
    如果不熟悉sqlserver的朋友可以用软件来实现
    sqlserver 数据库批量替换工具(数据库及文本文件查找替换) v1.0中文绿色版
    SQLServer 数据库批量查找替换工具1.2 SQL木马清除助手
    
     
    
     
    
    修改时间数据如下
    
     
    
    UPDATE ProgInfo SET JoinTime = convert(datetime,JoinTime,20)
    
    你先用上面这句话试下  我不知道你的JoinTime是什么类型的  如果是varchar行的 就执行下面这句话
    
    UPDATE ProgInfo SET JoinTime = convert(varchar(20),JoinTime,20)
    
    再有问题HI我 
    
     这个只能用于修改年份
    
    update 表名 
    set= replace(convert(datetime,列,(20)), 
    '2010', 
    '1999') 
    
     
    
    DATEADD 
    在向指定日期加上一段时间的基础上,返回新的 datetime 值。 
      
    语法 
    DATEADD ( datepart , number, date )  
      
    参数 
    datepart 
      
    是规定应向日期的哪一部分返回新值的参数。下表列出了 Microsoft? SQL Server? 识别的日期部分和缩写。 
      
    日期部分 缩写  
    Year yy, yyyy  
    quarter qq, q  
    Month mm, m  
    dayofyear dy, y  
    Day dd, d  
    Week wk, ww  
    Hour hh  
    minute mi, n  
    second ss, s  
    millisecond ms  
    
    
    --用dateadd加-1,Year, yy, yyyy 三者都可以 
    update 表名 set 字段名 = dateadd(yy,-1,字段名) 
    
    
    下面说一个可以全部都修改的,年月日都能修改的 
    
    update 表名 set=dateadd(mm,5,列) where month(列)=3
    
    update 表名 set=dateadd(mm,-5,列) where month(列)=3月

    原文地址:http://cyxn.blog.163.com/blog/static/2255247201101204511608/

  • 相关阅读:
    异常解决:swagger2.9.2 报java.lang.NumberFormatException: For input string: ““...
    SpringBoot中使用热部署插件
    SpringBoot中使用自定义拦截器
    SpringBoot开发的接口实现RESTFull的设计风格
    SpringBoot中使用jsp页面的方法
    SpringBoot的自定义配置方法二,通过@Value注解
    SpringBoot的自定义配置方法一,通过自定义配置文件
    Eclipse中使用Mybatis Generator自动生成POJO类、mapper类等
    Eclipse中将Maven工程转成SpringBoot工程
    相对高效的遍历Map的方法,其他方法效率相对较低
  • 原文地址:https://www.cnblogs.com/webyu/p/2552726.html
Copyright © 2011-2022 走看看