WW IW DDD、DD、J Day、DY、D HH、HH12、HH24 MI 该年第一天的星期 该ISO年第一天的星期 天 一周的第一天 时 分 日期算术的语义
运算 d1-d2 d1+d2 d1+n d1-n 返回数值类型 NUMBER N/A DATE DATE 结果 返回d1和d2之间相差的天数。如果该数值为小数,则表示一天的几分之几。 非法运算,不能进行两个日期的相加,只能进行两个日期的相减。 在d1上加上n天并作为DATE类型返回结果。n可以是一个小数,它的意思是一天的几分之几。 从d1上减去n天并作为DATE类型返回结果。n可以是一个小数,它的意思是一天的几分之几。 字符函数
CHR()
语法 说明 CHR(number_value[USING NCHAR_CS]) 返回在数据库字符集或国家字符集中与number_value等值的字符。为了使用国家字符集,可以选择使用USING NCHAR_CS子句。 示例 SQL> select CHR(37), CHR(100), CHR(101) FROM dual; C C C - - - % d e CONCAT()
语法 说明 示例 CONCAT(string1, string2) 返回接上string2之后的string1。该函数与“||”是等价的。 INITCAP()
语法 INITCAP(string) 说明 示例 将传递给函数的字符串的每一个单词的第一个字母转换成大写,其余的字母转换成小写。 INSTR()
语法 说明 INSTR(search_string, character_value, [, start_position [, occurrence]]) 返回某一字符或子字符串在被搜索字符串中的位置。该选项还提供了搜索的起始位置和字符的第n个实例。 示例 下面的例子示范了如何从句子的第一个字符开始搜索字母e第4次出现的位置。 SQL> select instr('Where is the fourth letter E in this sentence?', 'e', 1, 4) from dual; INSTR('WHEREISTHEFOURTHLETTEREINTHISSENTENCE?','E',1,4) ------------------------------------------------------- 22 INSTRB()
语法 说明 INSTRB(search_string, character_value, [, start_position [, occurrence]]) 这个函数的行为与INSTR()相同,只是start_position表示的是字节位置,而在INSTRB()中则表示的是字符。对于单字节字符集来说,INSTR()与INSTRB()是完全相同的。 示例 LENGTH()
语法 说明 示例 LENGTH(string) 返回当前字符串的长度。 LENGTHB()
语法 说明 LENGTHB(string) 这个函数的行为与LENGTH()是相同的,除了返回值是以字节为单位进行表达的。比如中文字符的LENGTHB()结果就比LENGTH()结果多一倍。对于单字节字符集来说,LENGTHB()与LENGTH()是完全相同的。 示例 LOWER()
语法 说明 示例 LOWER(string) 将作为参数传递进来的字符串中的字符全部转换为小写。 LPAD()
语法 说明 LPAD(string1, number [, string2]) 在string1左边填充number个字符。string1表示已有的字符串,number表示填充的数量,string2表示要填充的字符串,如果没有指明,则用空格代替。这个函数执行之后,string1+string2的总长度不能超过number。 示例 SQL> select LPAD('xy', 5, '?') LPAD from dual; LPAD ----- ???xy LTRIM()
语法 说明 示例 LTRIM(string1 [, string2]) 去除string1字符串左边的空格或所包含的string2字符串 SQL> SELECT LTRIM('xyxyxxxyEnd of the string', 'xy') ltrim from dual; LTRIM ----------------- End of the string REPLACE()
语法 说明 REPLACE(string, search_str [, replace_str]) 用replace_str替换string中所有出现的search_str后,将string返回。如果replace_str没有被指定,那么所有出现的search_str都将被删除。 示例 RPAD()
语法 说明 RPAD(string1, x [, string2]) RPAD()函数首先获取第一个参数string1,然后使用空格或string2(如果指定的话)在它的右边填充x个字符。如果string1的长度比x小,则会按照x值来截取string1。 示例 SQL> select RPAD('Nifty', 10, '?') RPAD from dual; RPAD ---------- Nifty????? RTRIM()
语法 说明 RTRIM(string1 [, string2]) RTRIM()将会从字符串string1的右边开始,去除结尾的空格,或者截取string1到指定的字符串string2为止(如果指定了string2)。 示例 SOUNDEX()
语法 说明 示例 SOUNDEX(string) 返回string的声音表示形式字符串。这对于比较两个拼写不同但发音相似的单词很有帮助。 SUBSTR()
语法 说明 SUBSTR(string, a [, b]) 用于获取字符串的片断。第一个参数string表示源字符串,第二个参数a是开始截取的位置,第三个参数b是可选的,表示要获取的字符串长度。参数b的取值可正可负,负值表示从字符串的末尾向回计算。如果没有设置b,则一直截取到字符串末尾。 示例 SUBSTRB()
语法 说明 SUBSTRB(string, a [, b]) 该函数的处理与SUBSTR是相同的。除了参数a和b是以字节为单位而不是以字符为单位表示的。对于ASCII,SUBSTRB和SUBSTR完全相同。但对于中文等Unicode字符集,结果会有所不同。 示例 SYS_CONNECT_BY_PATH
语法 说明 SYS_CONNECT_BY_PATH(column, char) SYS_CONNECT_BY_PATH函数的主要作用是把一个父节点下的所有子节点通过一个字符进行连接,然后显示在在一个单独的字段中。 示例 下面的语句通过sys_connect_by_path函数将一系列有隶属关系的员工通过分隔符“/”连接起来,并显示在每一个字段中。 SELECT LEVEL, SYS_CONNECT_BY_PATH (ename, '/') FROM scott.emp START WITH ename = 'KING' CONNECT BY PRIOR empno = mgr; LEVEL 1 2 3 4 3 4 2 3 3 3 3 3 2 3 PATH /KING /KING/JONES /KING/JONES/SCOTT /KING/JONES/SCOTT/ADAMS /KING/JONES/FORD /KING/JONES/FORD/SMITH /KING/BLAKE /KING/BLAKE/ALLEN /KING/BLAKE/WARD /KING/BLAKE/MARTIN /KING/BLAKE/TURNER /KING/BLAKE/JAMES /KING/CLARK /KING/CLARK/MILLER CONNECT_BY_ROOT
语法 说明 CONNECT_BY_ROOT(column) CONNECT_BY_ROOT函数只能用于层次化查询中,可以通过它来判断某个字段值在当前的层次化查询中是否是根结点。也就是说,start with子句是否是从该字段开始的。如果该字段值是根结点,则显示该字段的值;如果不是,则显示当前根结点的值。 示例 下面的查询以JONES作为起始点,显示了CONNECT_BY_ROOT函数对根结点的判断。 SELECT ename, connect_by_root(ename) FROM emp START WITH ename = 'JONES' CONNECT BY PRIOR empno = mgr ENAME CONNECT_BY_ROOT(ENAME) ---------- ---------------------- JONES JONES SCOTT JONES ADAMS JONES FORD JONES SMITH JONES CONNECT_BY_ISLEAF
语法 说明 CONNECT_BY_ISLEAF CONNECT_BY_ISLEAF函数用于判断当前的字段值是否是叶子结点,如果是,则返回1,不是则返回0。