1、
Select '登陆' + 2 From dual
会报错: ora- 01722 无效数字,原理是oracle把'登陆'当成数字来和2进行加法运算。
Select '登陆'|| 2 From dual
没有问题,会把2作为字符来处理
2、
nlssort(title,'NLS_SORT=SCHINESE_PINYIN_M')
按照拼音来排序
3、 smalldatetime 和 datetime
smalldatetime:不能到秒. 空間小.(4位)
datetime:(8位)
datetime占8字节,精度3.33毫秒,时间从1753.1.1到9999.12.31
smalldatetime占4字节,精度1分钟,时间从1900.1.1到2079.6.6
4、
获取当月月份:
方法一
select substr(to_char(sysdate,'yyyy-mm-dd'),6,2) from dual;
方法二
select to_number(to_char(sysdate,'mm')) from dual
方法三
select trunc(sysdate,'mm') from dual
5、
trunc用法:
Trunc(sysdate,'DD')-Trunc(E.joindate,'DD')<={BGDATE}
6、
递归方法
select compid from oCompany
start with compID=350
connect by prior compID=adminID
7、
substr('abcdefg',2,4):bcde
8、
trunc
select trunc(sysdate,'yy') from dual
2014/1/1
9、
null的理解
select 123 from dual where null<>2
没有结果
select 123 from dual where 1<>2
123
10、
round: 四舍五入
ceil(n) :取大于等于数值n的最小整数;
floor(n):取小于等于数值n的最大整数;
11、
去空格
去空格
update eStaff_Register
set name = replace(name,' ','')
Where ID=P_ID; update eStaff_Register
set name = rtrim(ltrim(name))
Where ID=P_ID;