嗯,从网上找到了一些内容,综合利用了sql server的一些内置方法

首先是 convert 方法:https://msdn.microsoft.com/zh-cn/library/ms187928.aspx

CONVERT(data_type(length),data_to_be_converted,style)

这个方法相当于是把日期数据格式化成字符串输出了。

然后是 stuff 方法:https://msdn.microsoft.com/zh-cn/library/ms188043.aspx

STUFF ( character_expression , start , length , replaceWith_expression )

这个方法是从第一个字符串的开始位置删除指定长度的字符;然后将第二个字符串插入到第一个字符串的开始位置。

就这样局部替换就好了

测试:

select top 1 addtime, convert(nvarchar(23),addtime,121),
stuff(convert(nvarchar(23),addtime,121),1,4,'2012')
from tbl_recordinfo

嗯,好像还挺好使的

 

下面是原帖:http://blog.csdn.net/yangbolg/article/details/18596311

--修改d表日期字段的年份

update d

set birth=STUFF(convert(nvarchar(23),birth,120),1,4,'2012')

--修改d表日期字段的月份

update d

set birth=STUFF(convert(nvarchar(23),birth,120),6,2,'3')

--修改d表日期字段的天数

update d

set birth=STUFF(convert(nvarchar(23),birth,120),9,2,'25')

--修改d表日期字段的小时数

update d

set birth =STUFF(convert(nvarchar(23),birth,120),12,2,'9')

--修改d表日期字段的分钟数

update d

set birth =STUFF(convert(nvarchar(23),birth,120),15,2,'15')

--修改d表日期字段的秒数

update d

set birth =STUFF(convert(nvarchar(23),birth,120),18,2,'30')

--修改d表日期字段的年份、小时

update d

set birth=Convert(datetime,stuff(STUFF(Convert(char,birth,120), 1,4, '2011'),12,2, '02'))

--修改表日期字段的年份

update d 
set birth=dateadd(year,datediff(year,birth,'2016-01-01'),birth) 
where year(birth)<>2012

--修改表日期字段的小时

update d 
set birth=dateadd(hour,3,birth)

如何使用 t-sql 更新数据库中日期字段的部分数据(年?月?日?时?分?秒?)的更多相关文章

  1. ASP.NET C# 日期 时间 年 月 日 时 分 秒 格式及转换(转自happymagic的专栏)

    在平时编码中,经常要把日期转换成各种各样的形式输出或保持,今天专门做了个测试,发现DateTime的ToString()方法居然有这么多的表现形式,和大家一起分享. DateTime time=Dat ...

  2. ASP.NET 日期 时间 年 月 日 时 分 秒 格式及转换

    在平时编码中,经常要把日期转换成各种各样的形式输出或保持,今天专门做了个测试,发现DateTime的ToString()方法居然有这么多的表现形式,和大家一起分享. DateTime time=Dat ...

  3. C#WinForm中显示实时时间:年/月/日 时/分/秒 星期X

    //加载窗体时 string weekstr = ""; private void Form22_Load(object sender, EventArgs e) { this.t ...

  4. Js 日期字符串分别截取 年 月 日 时 分 秒

    function shijiantime(times){ var timearr = times.replace(" ", ":").replace(/\:/g ...

  5. mysql更新表中日期字段时间

    DATE_ADD和DATE_SUB函数可以用INTERVAL关键字标识的时间间隔进行加减操作,类似于PHP中的strtotime函数. 1.更新表中有效期valid_time字段值都增加一天 UPDA ...

  6. SQL 从数据库中随机取n条数据

    用NEWID()方法. * ,NEWID() AS random from [toblename] order by random 其中的1可以换成其他任意整数,表示取的数据条数

  7. sql 删除表中某字段的重复数据

    重复字段:BarCode SELECT * FROM dbo.AssetBarCode WHERE BarCode IN (SELECT BarCode FROM dbo.AssetBarCode G ...

  8. SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int

    --SQL批量更新数据库中所有用户数据表中字段类型为tinyint为int --关键说明:--1.从系统表syscolumns中的查询所有xtype='48'的记录得到类型为[tinyint]的字段- ...

  9. LINQ to SQL更新数据库操作(转载)

    使用LINQ to SQL建模Northwind数据库 在这之前一起学过LINQ to SQL设计器的使用,下面就使用如下的数据模型: 当使用LINQ to SQL设计器设计以上定义的五个类(Prod ...

随机推荐

  1. Aerospike系列:5:安装AMC

    1:需要安装的包,如果缺少,请安装. python (2.6+) gcc python-devel 安装相应的模块 sudo pip install markupsafe sudo pip insta ...

  2. Mavlink地面站编写之二--Mission Planner编译

    软件下载:        本文使用VS2013进行编译和改动Mission Planner,其它版本号没有尝试过. 首先下载Mission Planner源码. https://github.com/ ...

  3. java 日期Date类型比较大小

      java 日期Date类型比较大小 CreateTime--2018年5月31日16点39分 Author:Marydon import java.text.DateFormat; import ...

  4. oracle批量更新之使用游标进行分批次更新的5种方式及速度比对

      1.情景展示 一共有22w条数据, 需要将A表的主键更新至B表的指定字段,如何快速完成更新? 2.解决方案 声明: 解决方案不只一种,该文章只介绍快速游标法及代码实现: 两张表的ID和ID_CAR ...

  5. V-rep学习笔记:机器人模型创建4—定义模型

    完成之前的操作后终于来到最后一步——定义模型,即将之前创建的几何体.关节等元素按层级关系组织成为一个整体. 将最后一个连杆robot_link_dyn6拖放到相应的关节(robot_joint6)下, ...

  6. Ubuntu12.04安装并配置Sublime Text 2

    Ubuntu是个好系统,Sublime Text 是个好编辑器. 下载&安装 个人习惯喜欢到官网下载软件,http://www.sublimetext.com/2 选择合适的包下载回来的格式是 ...

  7. 使用jQuery模拟鼠标点击a标签事件

    来源于:https://mo2g.com/view/42/ <html> <head> <meta charset="UTF-8"> <t ...

  8. Ant压缩与解压缩

    package com.test.utils; import java.io.File; import java.io.FileOutputStream; import java.io.InputSt ...

  9. ROS学习(四)—— 创建ROS Package

    一.caktin Package的组成 1.必须含有 package.xml文件,提供有关程序包的元信息 2.必须含有一个catkin版本的 CmakeLists.txt文件,如果是一个catkin元 ...

  10. golang ---image

    package main import ( "image" "image/color" "image/gif" "os" ...