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、新建PDM.右击Workspace->New->Free Model->Physical Data Model
2、Model name任意, DBMS=>ORACLE Version 9i2->确定
3、配置ODBC
控制面板->管理工具->数据源(ODBC)->系统DSN->添加,如果有装完整的Oracle客户端会出现专门的驱动,我的是简版的就选
"Microsoft ODBC for Oracl ......
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 ......
昨天在整理文件夹的时候不小心将一个dbf数据文件移动了,今天登录plsql时却发现提示ora-01033:oracle initialization or shutdown in progress的错误,开始以sqlnet.ora的文件配置文件,但是改来改去还是登录不了。最后按照网友的提示将sqlnet.ora文件中的SQLNET.AUTHENTICATION_SERVICES= (NTS)改成了SQLNET.AUTHENTICATI ......