例如有表table,table 中有两个字段:name 、makedate
1.Oracle:
--插入系统时间应为sysdate:
insert into table (name,makedate) values('测试',sysdate); --oracle查询系统时间
SYSDATE:可将Sysdate视为一个其结果为当前日期和时间的函数,在任何可以使用Oracle函数的地方都可以使用Sysdate。也可以将它视为每个表的一个隐藏的列或伪列。
SQL> select sysdate from dual; SYSDATE ---------- 22-7月 -08CURRENT_DATE:报告会话的时区中的系统日期。注:可以设置自己的时区,以区别于数据库的时区。
SQL> select Current_date from dual; CURRENT_DA ---------- 22-7月 -08SYSTIMESTAMP:报告TIMESTAMP数据类型格式的系统日期。
SQL> select SYSTIMESTAMP from dual; SYSTIMESTAMP --------------------------------------------------------------------------- 22-7月 -08 10.20.32.734000 上午 +08:002.Db2:
插入系统时间应为current timestamp并且makedate数据类型为timestamp
insert into table (name,makedate) values('测试',current timestamp);
--DB2查询系统当前时间
--时间
SELECT CURRENT TIME FROM SYSIBM.SYSDUMMY1 1 -------- 13:32:27
--日期
select current date from SYSIBM.SYSDUMMY1 1 ---------- 2017-03-09
--时间戳
select current timestamp from SYSIBM.SYSDUMMY1 1 ----------------------- 2017-03-09 13:29:42.986
3.SqlServer:
插入系统时间应为GETDATE()
insert into table (name,makedate) values('测试',GETDATE());
--查询当前系统时间 select getdate(); --datepart()函数:以整数的形式返回时间的指定部分。 --用法:datepart(datepart,date) --参数说明:datepart时要返回的时间的部分,常用取值year、month、day、hour、minute。 --date是所指定的时间。 --DATEPART(datepart, date) --从当前系统时间中截取当前日期 select datepart(day,getdate()) as day; --截取当前月份 select datepart(month,getdate()) as month; --全局变量 --查看sql server版本 select @@version; --查询最近一条sql的错误信息 select @@error; --查询最近一条sql的影响行数 select @@rowcount; --注意 --设置rowcount的最大返回数,此处设置后,及时最近一条sql的影响行数超过了rowcount的值 --查询rowcount也只会返回其设置的最大值而不是sql的影响行数 set rowcount 100; select top 200 * from schema1.user_info; SELECT count(*) from schema1.user_info;
4.MySQL:
插入系统时间应:
now():以'yyyy-mm-dd hh:mm:ss'返回当前的日期时间,可以直接存到datetime字段中。
curdate():’yyyy-mm-dd’的格式返回今天的日期,可以直接存到date字段中。
insert into table (name,makedate) values('测试',now());
--mysql查询系统时间
--日期
select CURDATE();
--时间
select CURRENT_TIME();
--时间戳
select CURRENT_TIMESTAMP();
--当前时间,等同于current_time()
select NOW();