欢迎莅临 SUN WU GANG 的园子!!!

世上无难事,只畏有心人。有心之人,即立志之坚午也,志坚则不畏事之不成。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  470 随笔 :: 0 文章 :: 22 评论 :: 30万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

select * from r_patient a where a.birthdate= to_date('1953-03-01','yyyy-mm-dd');
select * from r_patient where to_char(birthdate,'yyyy-mm-dd')= '1953-03-01';

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
1.日期格式转换
select * from V_Stat_CheckFee where CONTENT_DATE between to_date('20170711','yyyymmdd') and to_date('20170718','yyyymmdd') ;
to_char(ENROLDATE,'yyyy-mm-dd');
between to_date('2017-09-28 00:00:00','YYYY-MM-DD HH24:MI:SS') and to_date('2017-09-28 23:59:59','YYYY-MM-DD HH24:MI:SS');
to_char(REQ_DATE_TIME,'yyyy-mm-dd')>= '2017-07-30' and  to_char(REQ_DATE_TIME,'yyyy-mm-dd')<='2017-10-12';
STATUS<>'已预约';
STUDY_DATE >= to_date('2017-09-28 00:00:00','YYYY-MM-DD HH24:MI:SS'
and STUDY_DATE <= to_date('2017-09-28 23:59:59','YYYY-MM-DD HH24:MI:SS')
select count(*) from ...
select   to_char(sysdate, 'yyyy-MM-dd   HH24:mi:ss ')   from   dual;//mi是分钟             2013-11-25 18:45:32
 
 
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')currenttime,
       to_char(sysdate,'yyyy') year,
       to_char(sysdate,'mm') month,
       to_char(sysdate,'dd') day,
       to_char(sysdate,'day') week,
       to_char(sysdate,'hh24')hour,
       to_char(sysdate,'mi') minute,
       to_char(sysdate,'ss') second
from dual;
 
select to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss')currenttime,
       to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'yyyy')year,
       to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'mm')month,
       to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'dd') day,
       to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'day') week,
       to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'day','NLS_DATE_LANGUAGE=American') week, --设置语言
       to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'hh24')hour,
       to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'mi') minute,
       to_char(to_date('2009-07-04 05:02:01','yyyy-mm-dd hh24:mi:ss'),'ss') second
from dual;
 
 
2.修改添加数据库字段
alter table qs_queuebusiness modify(APPOINTTIME varchar(100));
alter table qs_queuebusiness Add(APPOINTTIME varchar(100));
 
3.日期格式参数及其含义说明    
D              一周中的星期几    
DAY        天的名字,使用空格填充到9个字符    
DD          月中的第几天    
DDD       年中的第几天    
DY          天的简写名    
IW           ISO标准的年中的第几周    
IYYY      ISO标准的四位年份    
YYYY    四位年份    
YYY,YY,Y       年份的最后三位,两位,一位    
HH         小时,按12小时计    
HH24    小时,按24小时计    
MI         分    
SS         秒    
MM      月    
Mon     月份的简写    
Month  月份的全名    
W        该月的第几个星期
WW    年中的第几个星期
 
4.日期时间间隔操作  
当前时间减去7分钟的时间  
select sysdate,sysdate - interval '7' MINUTE FROM dual; 
当前时间减去7小时的时间  
select sysdate,sysdate - interval '7' HOUR FROM dual;  
当前时间减去7天的时间  
select sysdate,sysdate - interval '7' DAY FROM dual;  
当前时间减去7月的时间  
select sysdate,sysdate - interval '7' MONTH FROM dual;  
当前时间减去7年的时间  
select sysdate,sysdate - interval '7' YEAR FROM dual;  
时间间隔乘以一个数字  
select sysdate,sysdate - 8*interval '2' HOUR FROM dual;  
 
5.日期到字符操作  
select   sysdate,to_char(sysdate,’yyyy-mm-dd   hh24:mi:ss’)   from   dual  
select   sysdate,to_char(sysdate,’yyyy-mm-dd   hh:mi:ss’)   from   dual  
select   sysdate,to_char(sysdate,’yyyy-ddd   hh:mi:ss’)   from   dual  
select   sysdate,to_char(sysdate,’yyyy-mm   iw-d   hh:mi:ss’)   from   dual  
参考oracle的相关关文档(ORACLE901DOC/SERVER.901/A90125/SQL_ELEMENTS4.HTM#48515)  
 
6.字符到日期操作  
select   to_date(’2003-10-17   21:15:37’,’yyyy-mm-dd   hh24:mi:ss’)   from   dual  
具体用法和上面的to_char差不多。
 
7.case......when...用法
select cardid, name, org,
case when gender='1' then '女' when gender='2' then '男' else '其他' end gender
from reader where name like 'm%';
 
case when length(b.BUSINESSID)<2 then c.queuesign||'00'||b.BUSINESSID
  when length(b.BUSINESSID)<3 then c.queuesign||'0'||b.BUSINESSID
    else c.queuesign||b.BUSINESSID end BUSINESSID,注意:oracle中||表示字符串拼接
8.orcale中top的用法(类似sql)
select * from tablename where rownum=1;select from (select rownum rn, a.* from tablename a) t where t.rn between 2 and 10;注意:
9.DUAL 表
 
该表主要目的是为了保证在使用SELECT语句中的语句的完整性而提供的。
 
一般用于验证函数:
select sysdate,to_char(sysdate,'yyyy-mm-dd HH24:mi:ss')as time from dual;
select sysdate from dual;10.查询某个字段返回长度--length()函数用法select length(queueid) from tableName;
select length(a.patname),a.* from tableName a11.oracle中substr函数的用法--instr(源字符串,目标字符串,起始字符串,匹配字符串)=返回要截取的字符串在源字符串中的位置,从字符的开始,只检索一次
--instr(string1,string2,index1,index2) 表示:要在string1的index1号位置,开始查找,第index2次,出现的string2
select instr('miaoying','i',2,2) from dual;--返回6:也就是说:在"miaoying"的第2号位置开始,查找第二次出现的i的位置
select instr('miaoying','k',2,2)from dual;--返回0:即如果查找不到,则返回0
select instr('miaoying','i') from dual;--返回2
select instr('miaoying','yi') from dual;--返回5:即"yi"的y的位置select instr('miaoying','i',-1,2) from dual;--返回2: 

select t.enroldate,t.calltype,
case
when to_char(t.enroldate,'hh24:mi:ss')<'13:00:00' then '1'
else '2'
end CAllTYPE
from qs_queuebusiness t

 

 

 

--查询数据、生成编号列、并根据指定列进行排序
select rownum rowno,a.* from (select * from qs_queuebusiness order by sortno) a

1、ROWNUM是伪列,必须要要有返回结果后,每条返回记录就会对应产生一个ROWNUM数值;

2、返回结果记录的ROWNUM是从1开始排序的,因此第一条始终是1;

3.如果需要添加编号列,则可使用容我ROWNUM列,例如:select rownum rowno, a.* from tablename a;

 

 

 

  substr(字符串,截取开始位置,截取长度) //返回截取的字

  substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串

  substr('Hello World',1,1) //返回结果为 'H'  *0和1都是表示截取的开始位置为第一个字符

  substr('Hello World',2,4) //返回结果为 'ello'

  substr('Hello World',-3,3)//返回结果为 'rld' *负数(-i)表示截取的开始位置为字符串右端向左数第i个字符

  测试:

  select substr('Hello World',-3,3) value from dual;

执行效果如下所示:

 

12.instr()函数的用法?

 13. oracle中系统函数?

terminal 当前会话客户所对应的终端标识符——返回当前登录用户

select sys_context('USERENV','terminal') from dual;

 

db_name 当前的数据库实例名称

select sys_context('USERENV','db_name') from dual;

 

language 语言——返回当前oracle字符集

 select sys_context('USERENV','language') from dual;

 

 

 session_user 当前会话所对应的数据库

select sys_context('USERENV','session_user') from dual;

 

 current_schema:查看当前方案

select sys_context('USERENV','current_schema') from dual;

 

14.根据日期获取年龄

注意:四舍五入(非四舍五入,应为进一法)

 --查看oracle数据库所有用户

SELECT * FROM all_users;
--查询oracle数据库系统当前用户下的所有对象
select * from tab;
--查看oracle数据库下当前用户的默认表空间
SELECT username, default_tablespace FROM user_users;
--查找用户的默认表空间命令为
SELECT username, default_tablespace FROM dba_users;

 

10.字符集设置

regedit==> 

SIMPLIFIED CHINESE_CHINA.ZHS16GBK  或 AMERICAN_AMERICA.US7ASCII    ......

11.数据库表数据合并(多行数据合并为一行)

select * from (select To_char(wmsys.wm_concat(a.appointnum))as appointnum,To_char(wmsys.wm_concat(a.direction))as direction
from queuedetail a where a.appointsid='015cfab6-9543-46b2-842f-534c4fef7b1e' ) b

 

 

 

 

 

 

 

 

 

posted on   sunwugang  阅读(455)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示