标签:入职 ott ast 插入 取数据 date 显示 改变 scott
SELECT DBTIOMEZONE FROM DUAL;查看数据库时区
SELECT SYSTIMSTAMP FROM DUAL;查看本地timezone
SELECT SESSIONTIMEZONE FROM DUAL;查看会话时区
TIMES TAMP 无时区概念,存什么时间进去,取出来就是什么时间
TIMES TAMP 时间和时区都被存下来,取数据时能获得当初存储的时间和时区
TIMES TAMP WITH LOCAL TIME ZONE把输入的时间按database timezone的时区转换后存储时间,取数据时按用户SESSION的时区返回给用户,取出来的时间不带时区格式
查看三种时间戳格式
CREATE TABLE T31(
TIMEDATE DATE,
TIMEDATE2 TIMESTAMP,
TIMEDATE3 TIMESTAMP WITH TIME ZONE,
TIMEDATE4 TIMESTAMP WITH LOCAL TIME ZONE
);
INSERT INTO T31 VALUES(SYSDATE,SYSDATE,SYSDATE,SYSDATE);
SELECT * FROM T31;
SELECT SESSIONTIMEZONE,CURRENT_DATE FROM DUAL;--当前时间
SELECT SESSIONTIMEZONE,CURRENT_TIMESTAMP FROM DUAL;--当前时间戳
SELECT SESSIONTIMEZONE,LOCALTIMESTAMP FROM DUAL;--本地时间戳
ALTER SESSION
SET NLS_DATE_FORMAT = ‘DD-MON-YYYY HH24:MI:SS’;
ALTER SESSION SET TIME_ZONE=’-5:00’; 改变会话时区
ALTER TABLE EMPLOYEES
MODIFY HIRE_DATE TIMESTAMP;--把HIRE_DATE改为时间戳格式
SELECT HIRE_DATE
FROM EMPLOYEES;
CREATE TABLE WEB_ORDERS
(ORDER_DATE TIMESTAMP WITH TIME ZONE,DELIVERY_TIME TIMESTAMP WITH LOCAL TIME ZONE);
--创建Time zone类型字段
--创建local time zone类型字段
ALTER SESSION SET TIME_ZONE=’-6:00’;
INSERT INTO WEB_ORDERS VALUES --插入时间数据
(SYSDATE,SYSDATE);
SELECT * FROM WEB_ORDERS; --查看数据
SELECT T.EMPNO,T.ENAME
(SYSDATE-T.HIREDATE) YEAR TO MONTH AS HIRE_YEAR
FROM SCOTT.EMP T; --将入职年份显示为多少年多少月显示的格式
CREATE TABLE WARRANTY
(PROD_ID NUMBER,WARRANTY_TIME INTERVAL YEAR(3) TO MONTH);
INSERT INTO WARRANTY VALUES(123,INTERVAL’9’MONTH)
SELECT * FROM WARRANTY;
函数TZ_OFFSET显示时区
SELECT TZ_OFFSET(‘US/Eastern’) FROM DUAL查看时区
SELECT TZNAME,TZABBREV,TZ_OFFSET(TZNAME) FROM V$TIMEZONE_NAMES;--查询视图全世界时区名称及时区
从SYSDATE显示年份.
SELECT EXTRACT(YEAR FROM SYSDATE) FROM DUAL;--抽取(只显示)年份
显示MANAGER_ID为100的员工的HIRE_DATE的月份
SELECT LAST_NAME,HIRE_DATE,
EXTRACT(MONTH FROM HIRE_DATE)--抽取月份
FROM EMPLOYEES
WHERE MANAGER_ID=100;
显示TIMESTAMP值‘2000-03-28 08:00:00’时区为‘Australia/North’(澳大利亚/北),TIMESTAMP WITH TIME ZONE值
SELECT FROM_TZ(TIMESTAMP ‘2000-07-12 08:00:00’,’Austrailia/North’)FROM DUAL;
显示字符串’2007-03-06 11:00:00’的TIMESTAMP值
SELECT TO_TIMESTAMP (‘2007-03-06 11:00:00’,’YYYY-MM-DD HH:MI:SS’)FROM DUAL;
显示DEPARTMENT_ID为20的员工的雇佣日期一年零两个月后的日期
SELECT HIRE_DATE,
HIRE_DATE+TO_YMINTERVAL(‘01-02’) AS
HIRE_DATE_YMINTERVAL
FROM EMPLOYEES
WHERE DEPARTMENT_ID=20;
标签:入职 ott ast 插入 取数据 date 显示 改变 scott
原文地址:https://www.cnblogs.com/kawashibara/p/8963249.html