Oracle 笔记
起因
因为换了工作,现在的公司主要使用Oracle数据库,所以最近在熟悉Oracle数据库的语法,因为自己对PostgreSql感兴趣,所以在学Oracle语法的时候,会PostgreSql的语法也进行学习和使用.1. 获取当前日期
--获取当前时间
SELECT NOW();
--获取当天
SELECT CURRENT_DATE;
2. 创建视图
--创建视图
CREATE VIEW cls_view as
SELECT * FROM cls ;
--删除视图
DROP VIEW cls_view
3. 数据转换

--主流的数据库 都支持case when 语法
SELECT SUM( CASE evaluate WHEN '优' THEN 1 ELSE 0 END ) AS 优 ,
SUM( CASE evaluate WHEN '良' THEN 1 ELSE 0 END ) AS 良,
SUM( CASE evaluate WHEN '差' THEN 1 ELSE 0 END ) AS 差
FROM cls
游标的使用
--做表中查找某一个列的内容,根据id进行替换部分内容
DECLARE
keyId Varchar2(36); --(游标使用)主键Id
colName Varchar2(64); --(游标使用)列名
txt Varchar2(64); --(游标使用)查找的文本
cursor cursor_colName_view is select keyId,colName from d_patientinfo; --定义游标
begin
txt := '123';
open cursor_colName_view;
fetch cursor_colName_view into keyId,colName;
while cursor_colName_view %found
loop
--DBMS_OUTPUT.PUT_LINE('==========='|| colName ||'------'|| keyId);
if instr(colName,txt) > 0
then
--DBMS_OUTPUT.PUT_LINE(colName||'------'||replace(tableName,txt,'456'));
update d_patientinfo x set x.biaoming = replace(colName,txt,'456') where x.id = keyId;
end if;
fetch cursor_colName_view into keyId,colName;
end loop;
close cursor_colName_view;
end
类型转换
--日期格式化 2020-09-27 21:36:37
select to_char('2020-09-27 21:36:37','yyyy-MM-dd')
select to_char('2020-09-27 21:36:37','hh24:mi:ss')
--数值 100.99
select to_char(100.99,'999.99')
秋风
2020-07-29