updatesql时间
❶ sql更新时间
测试环境:winXP+SQL server2000
create table #aa(id int identity(1,1),Num varchar(10),begintime datetime,diff int)
go
insert into #aa(num,begintime)values('A','11:30')
insert into #aa(num,begintime)values('A','16:20')
insert into #aa(num,begintime)values('A','20:10')
insert into #aa(num,begintime)values('A','23:30')
insert into #aa(num,begintime)values('B','12:10')
insert into #aa(num,begintime)values('B','19:00')
insert into #aa(num,begintime)values('B','23:50')
select * from #aa
--只有每台机器的第一笔不更新
update a set diff=datediff(n,b.beginTime,a.beginTime) from #aa a,#aa b where a.num=b.num and a.id=b.id+1
--更新每台机器的第一笔
--用null来判断,这句只能执行第一次
update #aa set diff=datediff(n,'8:00',beginTime) where diff is null
--如果用这句,就可以多次执行
update a set diff=datediff(n,'8:00',beginTime) from #aa a where not exists(select * from #aa b where a.Num=b.Num and a.id=b.id+1 )
select * from #aa
❷ 怎么用sql语句 update date型数据
第2句这样用不正确,虽然不出错,结果不正确
Update scott.emp Set hiredate =1980-12-13 ;
--等同于
Update scott.emp Set hiredate =1955 ;
--计算方式
SELECT CAST(1955 AS DATETIME)--1905-05-10
计算方法1900-01-01日期加上1955天
❸ sql update 语句中怎么设置那时间不定死
update table set time =getdate()
❹ SQL 查询 updatedate为当前日期 例如(2014-12-25 16:44:09.000)
select * from table
where
updatedate between '2014-12-01' and '2014-12-23'
❺ sql修改当前时间
你的代码得到的运行 sql 为
update tblname set moddate = 2009-2-2 where autoid =2
可知 2009-2-2 会被认为是一个计算表示式计算结果为 2005
可知 moddate 被设置为了 2005 (数字类型) 2007转换为日期型后(1900年1月1日 + 2005 天就成了1905年6月29日)
你需要的正确的 sql 为
update tblname set moddate = '2009-2-2' where autoid =2
所以如 sq_zhuyi 那样,加入单引号就可以了
❻ sql update 如何更新日期型数据(我要把日期型字段的内容清空)
update [表名]
set [日期型字段] = null
where [条件字段] = 判定条件
如果所有该日期型字段都需要清空,就不加where从句
❼ sql update 字段范围内的日期
declare @Id int --不知道你的ID是不是ID,不是的话修改成其它类型
declare @Num int
set @Num=0
DECLARE MY_CUR_Main CURSOR FOR --声明游标
select id from AAA表 order by id desc
OPEN MY_CUR_Main --打开游标
FETCH NEXT FROM MY_CUR_Main --获取游标的下一行
into @Id
WHILE @@FETCH_STATUS = 0 --FETCH语句执行成功
BEGIN
update AAA表 set BBB=dateadd(d,-@Num,getdate()) where id=@Id
set @Num=@Num+1
FETCH NEXT FROM MY_CUR_Main --获取游标的下一行
into @Id
end
CLOSE MY_CUR_Main --关闭游标
DEALLOCATE MY_CUR_Main --释放游标
❽ SQL update 为系统时间
DECLARE @date_from DATETIME;--声明开始日期变量
DECLARE @date_to DATETIME;--声明结束日期变量
SET @date_from = '2002-01-01';--为开始日期赋值
SET @date_to = '2008-03-01';--为结束日期赋值
update 表名称 set 字段名称=
(
@date_from + -----开始时间 加上一个以天为整的数值作为新的日期
(
ABS(
CAST(
CAST( NewID() AS BINARY(8) )--把生成的一个二进制随机数转化为整数 并取其绝对值
AS INT
)
)
% ----防止随机数过大 取其对开始结束时间差的模
CAST(
(@date_to - @date_from) -----获取时间差 并转换成整型
AS INT
)
)
)
select * from 表名称 ------查看更新后的数据
❾ sql update 如何更新日期型数据
update [表名]
set [日期型字段] = null
where [条件字段] = 判定条件;如果所有该日期型字段都需要清空,就不加where从句。
更新数据库里日期类型的数据:
1、如果是更新成当前时间的话:
sql:update tablename set timeNew =sysdate;
2、如果是更新成固定的时间或者是固定格式的时间,可以通过TO_DATE语句实现:
sql:update tablename set timeNew =TO_DATE('2015-12-21', 'YYYY-MM-DD');
(9)updatesql时间扩展阅读:
updateSQL的时间变量:
update temp
set dt=CONVERT(DATETIME,'2015-09-17 '+CONVERT(VARCHAR,dt,114))
--dt为字段,类型为datetime
CONVERT(VARCHAR,dt,114) 为获取dt中的时间部分。如“07:50:59.897”
再将其与日期字串连接,之后将整字串转换为datetime类型更新到表里。
❿ SQL或ORACLE数据库UPDATE时自动记录更新时间
dml操作(insert
,
delete
,
update)之后,一定要使用commit或rollback命令来结束该事务,否则直接关闭sql
plus,数据库默认rollback之前未提交的事务,所以今天你在select的时候
会显示未选定行。
而手动输入commit,rollback
这类的命令,是显示的提交事务(完成事务)。
如果在dml操作之后未及时显示的提交,而是又进行了ddl操作(create
alter...),则数据库会隐式的提交之前未完成的事务。
所以
下次一定要注意哦~~