当前位置: 代码迷 >> Sybase >> sybase 与oracle差异之函数篇
  详细解决方案

sybase 与oracle差异之函数篇

热度:3950   发布时间:2013-02-26 00:00:00.0
sybase 与oracle区别之函数篇
oracle
sybase
获取系统当前时间sysdategetdate()
字符串长度LENGTH 该函数很简单,就是告诉用户一个字符串有多长,即字符串中有多少个字符,该函数本身并不是很好用,但可以做为其它函数的一部分,用于计算表格需要多少空格,或者做为orderby 子句的一部分。PS:您不能对一个使用LONG数据类型的列使用LENGTH之类的函数。datalength用于确定可变字符串的长度
截取字符串SUBSTR(string,start [,count]) 该函数告诉oracle提取出string一个子集,start开始位置,count提取长度,不指定count时,默认提取到该字符串的尾部。  start同时也可以指定为负数,指定为正数的时候是从字符串的起始位置开始算(左边),指定负数时,是从末尾位置算(右边)。PS:负数不能使用于Char数据类型,因为Char是固定长度的,   所以将使用空格填充他们的值,直到扩展到列的全长。substring(expression,start,length)返回部分字符串
去空格"LTRIM,RTRIM和TRIM,他们的作用是从字符串的左边,右边,左右两边删除不需要的字符,默认时删除空格。格式:RTRIM、LTRIM(字符串,'删除字符集') 第一个参数就是要进行删除的字符,第二个参数是一个字符集来的,如果填写的是'AB',Oracle会认为是A和B,然后反复检查字符串的右端,直到字符串中的每个字符都被删除了,也就是说,直到遇到被删除字符集中未出现的第一个字符时,才停止删除。这样讲可能有点不是很明白,看下面例子原数据1 AAA.2 AAA.""3 AA.AABRTRIM(name,'.B""')1 AAA2 AAA3 AA.AA" ltrim(char_expr) 删除头空 rtrim(char_expr)  删除尾空
串内搜索 "INSTR 返回指定的字符串所在的位置INSTR(string,set[,start [,occurrence ] ] ) 如果指定start,oracle则跳过前面所有字符串到该位置开始搜索,occurence,是强迫instr跳过前几次与字符串匹配,给出下一次匹配的位置,如果occurence指定3,那就是匹配第三次的位置了。 例 instr('ABACAAA','A',2,2) 从ABACAAA中匹配A这个字符串,从2个位置开始匹配,匹配第2次A所在的位置。PS:如果set中不止有一个字符而是有几个字符组成的,则INSTR给出该字符集中的第一个字符的位置。" "charindex(char_expr,expression)    返回指定char_expr的开始位置,否则为0 patindex(""%pattern%"",expression)    返回指定样式的开始位置,否则为0 "

  相关解决方案