ORACLE中搜索字母数字混合的字符串
SQL> with tt as
2 (
3 select 'haha' string from dual union
4 select '123' from dual union
5 select 'haha12' from dual union
6 select 'haha[]' from dual union
7 select '12@@' from dual union
8 select 'ah@!123' from dual
9 )
10 select string
11 from
12 (
13 select string,translate(
14 string,'abcdefghijklmnopqrstuvwxyz0987654321',
15 rpad('#',26,'#')||rpad('*',10,'*')
16 )
17 translated from tt
18 )
19 where instr(translated,'#') > 0
20 and instr(translated,'*') > 0;
STRING
-------
ah@!123
haha12
其实就是通过translate函数把所有字母和数字变换成两种统一的字符,上例中是把字母变为#,数字变为*,接着再外层select的where子句中对转换后的字符串进行判断,如果两者都大于0,也就说既有字母也有数字,那么就没问题了。
相关文档:
Oracle中创建同义词语句:
create synonym table_name for user.table_name;
其中第一个user_table和第二个user_table可以不一样。
此外如果要创建一个远程的数据库上的某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问,然后在使用如下语句创建数据库同义词:create synonym tabl ......
1.建表,插入数据
create table dept(deptno number,deptname varchar2(20),mgrno number);
insert into dept values(1,'总公司',null);
insert into dept values(2,'浙江分公司',1);
insert into dept values(3,'杭州分公司',2);
insert into dept values(4,'湖北分公司',1);
insert into dept values(5,'武汉分公司 ......
使用sys,以sysdba权限登录Oracle:
(普通权限,D:\sqlplus tss/tss123456@buaa)
D:\sqlplus sys/penghj@buaa as sysdba
SQL> show parameter processes;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 1
db_writer_processes integ ......
Oracle日期函数集锦(一)
一、 常用日期数据格式
1.Y或YY或YYY 年的最后一位,两位或三位
SQL> Select to_char(sysdate,'Y') from dual;
TO_CHAR(SYSDATE,'Y')
--------------------
7
SQL> Select to_char(sysdate,'YY') from dual;
TO_CHAR(SYSDATE,'YY')
---------------------
07
SQL> Select to_ch ......
Oracle日期函数集锦(三)
三、一些实践后的用法:
1.上月末天:
select to_char(add_months(last_day(sysdate),-1),'yyyy-MM-dd') LastDay from dual;
2.上月今天
SQL> select to_char(add_months(sysdate,-1),'yyyy-MM-dd') PreToday from dual;
3.上月首天
SQL> select to_char(add_months(last_day(sysdate ......