表操作
备份还原表
--同时备份表结构和表数据:
create table 新表名 as select * from 旧表名
--只备份表结构:
create table 新表名 as select * from 旧表名 where 1=2
--还原表
方式1:
insert into 现表 select * from 备份表;
方式2:
delete 旧表名; #当前旧表的数据
create table 旧表名 as select * from 之前备份的表
表名操作
--表名修改
alter table 表名 rename to 新表名
--表添加注释
comment on table "NWYDPT"."LOGIN_LOCKDEVICE_USER" is '用户表'
表字段操作
--添加列字段注释
COMMENT ON COLUMN 表名.字段 is 字段注释;
--添加一个字段
alter table 表名 add 新字段 VARCHAR2(128);
--添加两个字段
alter table 表名 Add (新字段名 number(1,0),新字段名 Varchar2(2));
--删除字段,字段要大写
alter table 表名 drop column "ID"
--修改字段
alter table 表名 rename column 旧字段名 to 新字段名;
--修改字段属性 新的属性
alter table 表名 modify 字段名 VARCHAR2(2000);
alter table 表名 modify 字段名 date
alter table 表名 modify 字段名 TIMESTAMP
--修改字段值
update 表名 set 字段 = 新值 where [id=1]
update 表名 set 字段 = to_date('2018-09-01','yyyy-mm-dd') where id=1
update 表名 set 字段 = '13-10月-19 03.33.59.000000000' where id=3
时间类查询
查询当前日期和时间
SELECT SYSDATE FROM dual
查询特定日期和时间
SELECT TO_DATE('2023-07-04 12:34:56', 'YYYY-MM-DD HH24:MI:SS') FROM dual;
查询特定日期范围内的数据
SELECT * FROM 表名
WHERE 时间列名 BETWEEN TO_DATE('2023-01-01', 'YYYY-MM-DD') AND TO_DATE('2023-12-31', 'YYYY-MM-DD');
大于某个时间
SELECT * FROM your_table
WHERE your_date_column > TO_DATE('2023-07-04', 'YYYY-MM-DD');
小于某个时间
SELECT * FROM your_table
WHERE your_date_column < TO_DATE('2023-07-04', 'YYYY-MM-DD');
等于某个时间
SELECT * FROM your_table
WHERE your_date_column = TO_DATE('2023-07-04', 'YYYY-MM-DD');
不在某个时间范围内
SELECT * FROM your_table
WHERE NOT (your_date_column BETWEEN TO_DATE('start_date', 'YYYY-MM-DD') AND TO_DATE('end_date', 'YYYY-MM-DD'));
上述语句将返回your_date_column不在'start_date'和'end_date'之间的所有记录
不在某个时间
SELECT * FROM your_table
WHERE your_date_column NOT IN (TO_DATE('2023-07-04', 'YYYY-MM-DD'), TO_DATE('2023-07-05', 'YYYY-MM-DD'));
上述语句将返回your_date_column不在'2023-07-04'和'2023-07-05'之间的所有记录。
包含某个时间范围
SELECT * FROM your_table
WHERE EXTRACT(YEAR FROM your_date_column) = 2023
OR EXTRACT(MONTH FROM your_date_column) = 7
OR EXTRACT(DAY FROM your_date_column) = 4;
上述语句将返回your_date_column的年份为2023、月份为7或日期为4的所有记录。
按日期进行分组并计算每个日期的统计信息
SELECT TO_CHAR(时间列名, 'YYYY-MM-DD') AS date, COUNT(*) AS count
FROM 表名
GROUP BY TO_CHAR(时间列名, 'YYYY-MM-DD');
TO_DATE函数用于将字符串转换为日期类型。它接受两个参数:要转换的字符串和表示日期格式的字符串。例如:
SELECT TO_DATE('2023-07-04', 'YYYY-MM-DD') FROM dual;
上述语句将字符串'2023-07-04'转换为日期类型。
TO_CHAR函数用于将日期类型转换为字符串。它接受两个参数:要转换的日期和表示日期格式的字符串。例如:
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') FROM dual;
上述语句将当前日期(SYSDATE)转换为字符串,并使用格式'YYYY-MM-DD HH24:MI:SS'进行格式化。
总结起来,TO_DATE函数用于将字符串转换为日期类型,而TO_CHAR函数用于将日期类型转换为字符串。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容