
运行这个sql看看结果,剩下的我想你就会写了
这是mysql的函数,sqlserver有没有我就不知道了
还是给你个sql吧,假定你的表test 里面有datetime字段
update test set datetime=DATE_ADD(datetime, INTERVAL 1 Year)
方法1:修改表定义,加入年份方法2:写存储过程
create proc addcolumn
@tablename varchar(30), --表名
@colname varchar(30), --要加的列名
@coltype varchar(100), --要加的列类型
@colid int --加到第几列
as
declare @colid_max int
declare @sql varchar(1000) --动态sql语句
--------------------------------------------------
if not exists(select 1 from sysobjects
where name = @tablename and xtype = 'u ')
begin
raiserror 20001 '没有这个表 '
return -1
end
--------------------------------------------------
if exists(select 1 from syscolumns
where id = object_id(@tablename) and name = @colname)
begin
raiserror 20002 '这个表已经有这个列了! '
return -1
end
--------------------------------------------------
--保证该表的colid是连续的
select @colid_max = max(colid) from syscolumns where id=object_id(@tablename)
if @colid > @colid_max or @colid < 1
set @colid = @colid + 1
--------------------------------------------------
set @sql = 'alter table '+@tablename+ ' add '+@colname+ ' '+@coltype
exec(@sql)
select @colid_max = colid
from syscolumns where id = object_id(@tablename) and name = @colname
if @@rowcount <> 1
begin
raiserror 20003 '加一个新列不成功,请检查你的列类型是否正确 '
return -1
end
--------------------------------------------------
--打开修改系统表的开关
EXEC sp_configure 'allow updates ',1 RECONFIGURE WITH OVERRIDE
--将新列列号暂置为-1
set @sql = 'update syscolumns
set colid = -1
where id = object_id( ' ' '+@tablename+ ' ' ')
and colid = '+cast(@colid_max as varchar(10))
exec(@sql)
--将其他列的列号加1
set @sql = 'update syscolumns
set colid = colid + 1
where id = object_id( ' ' '+@tablename+ ' ' ')
and colid >= '+cast(@colid as varchar(10))
exec(@sql)
--将新列列号复位
set @sql = 'update syscolumns
set colid = '+cast(@colid as varchar(10))+ '
where id = object_id( ' ' '+@tablename+ ' ' ')
and name = ' ' '+@colname + ' ' ' '
exec(@sql)
--------------------------------------------------
--关闭修改系统表的开关
EXEC sp_configure 'allow updates ',0 RECONFIGURE WITH OVERRIDE
go
方法和 *** 作步骤如下:
1.首先,打开数据库并创建一个新表。由于日期格式的原因,所以两个date_time和time_time字段是日期类型,见下图,然后进入下一步。
2.其次,完成以上步骤后,如果是一个简单的查询表,则会以日期格式显示,如下图所示,然后进行下一步。
3.然后,在完成上述步骤之后,将查询日期显示结果设置为日期格式,可以使用数据库函数to_char实现该格式。结果是一个字符串,如下图所示,然后是下一步。
4.然后,完成上述步骤后,在“查询编辑器”窗口中,输入如下所示的代码,然后进入下一步。
5.最后,在完成上述步骤之后,完成修改date类型字段值的 *** 作,如下图所示。这样,问题就解决了。
注意事项:
SQL是结构化查询语言的简称。SQL是一种功能完备的数据库语言,它是一组用于数据库的 *** 作命令。在使用它时,您只需要发出命令“做什么”,而“如何做”不是用户考虑的问题。
SQL数据库的数据体系结构基本上是三级结构,但是使用的术语不同于传统的关系模型术语。在SQL中,关系模式(schema)称为“基表”内部模式称为“存储文件”子模式(外部模式)称为“视图”元组称为行该属性称为列。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)