
SQL里面有个DATEADD的函数。时间戳就是一个从1970-01-01 08:00:00到时间的相隔的秒数。
注解:北京时间与GMT时间关系
1、GMT是中央时区,北京在东8区,相差8个小时
2、所以北京时间 = GMT时间 + 八小时
例如:
SELECT DATEADD(S,1160701488 + 8 3600,'1970-01-01 00:00:00') --时间戳转换成普通时间
SELECT DATEDIFF(S,'1970-01-01 00:00:00', '2006-10-13 09:04:48000') - 8 3600 --普通时间转换成时间戳
假设表名为aaa,字段名为dt,语句为:
ALTER
TABLE
aaa
ADD
CONSTRAINT
DF_aaa_dt
DEFAULT
getdate()
FOR
dt
这样aaa的dt字段默认值就是当前系统日期了
你这里有几个错误,首先,默认值的取值方式不对,另一个,插入默认值方法也不对。
这个是设置默认值的,其中时间是当前时间的年与日时分
create table test(id int,
times varchar(16) default convert(varchar(16),getdate(),120));
然后,插入时这样,不是你写的什么default
insert into test(id) values (1);检查下结果:
剩下的,你照葫芦画瓢自己改吧
1 打开SQL server配置管理器,设置sql server服务里的SQL server代理服务为自动并启动。 2 启动Master Data Services Configuration Manager,登陆数据库。 3 在主界面左侧,右键点击“管理”里的“维护计划”,在下拉菜单点击“维护计划向导”。 4 点击“下一步”,填写名称,说明。选择“整个计划统筹安排或无计划”后,点击“更改”设定时间,此处设置为5小时。 5 然后勾选“备份数据库(完整)”点击“下一步”,在数据库右侧选择需要备份的数据库。点击下一步。 6 再次点击下一步,可看到正在备份,直至备份结束。 7 可以看到备份成功。至此,SQL Server数据库备份就完成了。同时,数据库自动备份也完成。
SQL数据库记录修改时间
如果要改成 当天日期的话:
update 表名 set checktime=to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') where checktime=to_date('2010-10-11 19:14:43','yyyy-mm-dd hh24:mi:ss')
----如果要这样改的话:2010-10-11 19:14:43 改成 2011-11-11 19:14:43 。就是只改月数的话,
----可以用add_months(date,n)函数
update 表名 set checktime= add_months(checktime,12) where checktime=to_date('2010-10-11 19:14:43','yyyy-mm-dd hh24:mi:ss')
1、非要用datetime的话就不能用default而要通过trigger来实现
2、在插入时value用now()函数、或者自行取运行时间
3、字段类型改变为:
datecreated timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
datemodified timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
但是其实不可行,因为一个表只能有一个CURRENT_TIMESTAMP,但你有三个字段。
所以当有多个时间可能还是得结合方式2与方式3来综合处理。当然全都用方式2也就不会提出这种问题了。
以上就是关于SQL怎么把数据库里面时间格式改成时间戳全部的内容,包括:SQL怎么把数据库里面时间格式改成时间戳、如何用SQL语句将数据库中的表的某一时间型字段的默认值设置为当前日期、sql数据库建表时间问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)