oracle中判断一个字符串是否全部为数字的函数
參考:http://blog.csdn.net/rainnyzhong/archive/2009/01/09/3740660.aspx
作者:Rainny
日期:2009-1-8
创建测试表:
create table test(c_id varchar2(20));
插入测试数据:
insert into test values ('1234');
insert into test values ('45678');
insert into test values ('-1234');
insert into test values ('0.1234');
insert into test values ('-0.1234');
insert into test values ('abc');
insert into test values ('a9c');
insert into test values ('-a9c');
insert into test values ('-.a9c');
insert into test values ('-.');
insert into test values ('-');
insert into test values ('.');
--
使用TRANSLATE函数实现:
select * from test
where length(translate(c_id,'-.0123456789'||c_id,'-.0123456789'))=length(c_id)
and c_id not in ('-','-.','.')
我们来解释一下translate函数。
translate函数和replace函数的功能相似,区别是translate是以字符级进行替换操作,而replace函数则是以字符串级(即整个字符串完全匹配才进行替换)进行替换操作:
SQL> select replace('abcdef','abe','123') from dual;
REPLACE('ABCDEF','ABE','123')
-----------------------------
abcdef
SQL> select translate('abcdef','abe','123') from dual;
TRANSLATE('ABCDEF','ABE','123'
------------------------------
12cd3f
SQL>
Translate函数的语法:
translate(char,from_string,to_string)
----------------------------------------------------------------------------------------------------------------------------------------------------------
参数 说明
----------------------------------------------------------------------------------------------------------------------------------------------------------
char 是需要进行替换的字符串。
from_string
相关文档:
Oracle在日期使用上允许极大的灵活性。由于可以在日期字段存储时间和日期,从而有函数可以既引用日期又引用时间。
Oracle 所提供的一些日期函数如下所示。
1. SYSDATE
返回当前的日期和时间。
示例
SELECT sysdate from dual;
SYSDATE
----------
05-3月 -03
2. ADD_MONTHS(d, no_of_month)
当前日期"m"后推"no_o ......
我们都知道ORACLE不会发生锁升级,锁对于ORACLE来说并不是稀缺资源,为什么DML lock对于ORACLE来说不是稀缺资源,下面来寻找答案。
SQL> select * from emp where sal>2999;
EMPNO ENAME JOB MGR HIREDATE ......
CREATE TABLE T_BI_CurrentAccountDetailed
(
OrderDate DATE,
BranchFlag varchar2(3),
SortId varchar2(11),
OrderNo&n ......
SQL
insert into table_name(colum1,colum2)
select colum1,colum2
from opendatasource('sqloledb','data source=服务器名;user id=用户名 ;password=密码 ').database_name.dbo.table_name
如执行出现以下错误”sql server 阻止了对组件 \'ad hoc distributed queries\' 的访问&l ......
一、系统的默认用户
Java代码
sys;//系统管理员,拥有最高权限
system;//本地管理员,次高权限
scott;//普通用户,密码默认为tiger,默认未解锁
二、登陆
Java代码
sqlplus conn / as sysdba;//登陆sys帐户 ......