ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 常用函数汇总

常用函数汇总

原创 Linux操作系统 作者:veyard 时间:2009-05-05 20:42:59 0 删除 编辑

*******************************************************************************
* SQL Group Functions (num can be a column or expression)                     *
(null values are ignored, default between distinct and all is all)            *
*******************************************************************************
AVG([distinct or all] num)      -- average value
COUNT(distinct or all] num)     -- number of values
MAX([distinct or all] num)      -- maximum value
MAX([distinct or all] num)      -- minimum value
STDDEV([distinct or all] num)   -- standard deviation
SUM([distinct or all] num)      -- sum of values
VARIANCE([distinct or all] num) -- variance of values
 
*******************************************************************************
* Miscellaneaous Functions :                                                  *
*******************************************************************************
DECODE(expr, srch1, return1 [,srch2, return2...], default]
       -- if no search matches the expression then the default is returned,
       -- otherwise, the first search that matches will cause
       -- the corresponding return value to be returned
DUMP(column_name [,fmt [,start_pos [, length]]])
      -- returns an internal oracle format, used for getting info about a column
      -- format options : 8 = octal, 10 = decimel, 16 = hex, 17 = characters
      -- return type codes : 1 = varchar2, 2 = number, 8 = long, 12 = date,
      --   23 = raw, 24 = long raw, 69 = rowid, 96 = char, 106 = mlslabel
GREATEST(expr [,expr2 [, expr3...]]
      -- returns the largest value of all expressions
LEAST(expr [,expr2 [, expr3...]]
      -- returns the smallest value of all expressions
NVL(expr1 ,expr2
      -- if expr1 is not null, it is returned, otherwise expr2 is returned
SQLCODE
      -- returns sql error code of last error.  Can not be used directly in query,
      -- value must be set to local variable first
SQLERRM
      -- returns sql error message of last error.  Can not be used directly in query,
      -- value must be set to local variable first
UID
      -- returns the user id of the user you are logged on as
      -- useful in selecting information from low level sys tables
USER
      -- returns the user name of the user you are logged on as
USERENV('option')
      -- returns information about the user you are logged on as
      -- options : ENTRYID, SESSIONID, TERMINAL, LANGUAGE, LABEL, OSDBA
      --           (all options not available in all Oracle versions)
VSIZE(expr)
      -- returns the number of bytes used by the expression
      -- useful in selecting information about table space requirements
 
*******************************************************************************
* SQL Date Functions (dt represents oracle date and time)                     *
* (functions return an oracle date unless otherwise specified)                *
*******************************************************************************
ADD_MONTHS(dt, num)      -- adds num months to dt (num can be negative)

例:ADD_MONTHS('11-JAN-94',6)->'11-JUL-94'
LAST_DAY(dt)             -- last day of month in month containing dt

例:LAST_DATE('01-SEP-95')->'30-SEP-95' 
MONTHS_BETWEEN(dt1, dt2) -- returns fractional value of months between dt1, dt2

例:MONTHS_BETWEEN('01-SEP-95','11-JAN-94')->19.6774194
NEW_TIME(dt, tz1, tz2)   -- dt = date in time zone 1, returns date in time zone 2
NEXT_DAY(dt, str)        -- date of first (str) after dt (str = 'Monday', etc..)

例:NEXT_DATE('01-SEP-95','FTIDAY')->'08-SEP-95'
SYSDATE                  -- present system date
ROUND(dt [,fmt]          -- rounds dt as specified by format fmt

例:ROUND('25-JUL-95','MONTH')->'01-AUG-95'   ROUND('25-JUL-95','YEAR')->'01-JAN-96'
TRUNC(dt [,fmt]          -- truncates dt as specified by format fmt

例:TRUNC('25-JUL-95','MONTH')->'01-JUL-95'   TRUNC('25-JUL-95','YEAR')->'01-JAN-95'

--将日期转化为“年+月+日”的中文格式
select replace(replace (to_char(sysdate,'yyyy,mm.dd'),',','年'),'.','月')||'日' from dual
--星期几
select '星期'||to_char(to_date('2008-08-21', 'rrrr-mm-dd') - 1, 'D ') from dual
--一年中第几周
select to_char(to_date('2008-08-23', 'rrrr-mm-dd')+2 , 'ww') from dual
 
*******************************************************************************
* Number Functions :                                                          *
*******************************************************************************
ABS(num)             -- absolute value of num
CEIL(num)            -- smallest integer > r = num

例:CEIL(N) 取大于或等于N的最小整数  ceil(89.3) 值90
COS(num)             -- cosine(num), num in radians
COSH(num)            -- hyperbolic cosine(num)
EXP(num)             -- e raised to the num power
FLOOR(num)           -- largest integer < r = num

例:FLOOR(N)取小于或等于N的最大整数  ceil(89.3) 值89
LN(num)              -- natural logarithm of num
LOG(num2, num1)      -- logarithm base num2 of num1
MOD(num2, num1)      -- remainder of num2 / num1

例:MOD(1600,300)->100
POWER(num2, num1)    -- num2 raised to the num1 power

例:POWER(M,N)取M的n次方值
ROUND(num1 [,num2]   -- num1 rounded to num2 decimel places (default 0)

例:ROUND(45.926,2)->45.93    ROUND(45.926,0)->46  ROUND(45.926,-1)->50
SIGN(num)            -- sign of num * 1, 0 if num = 0

例:sign(n) n>0 取1 n=0 取0 n<0 取-1
SIN(num)             -- sin(num), num in radians
SINH(num)            -- hyperbolic sine(num)
SQRT(num)            -- square root of num
TAN(num)             -- tangent(num), num in radians
TANH(num)            -- hyperbolic tangent(num)
TRUNC(num1 [,num2]   -- truncate num1 to num2 decimel places (default 0)

例:TRUNC(45.926,2)->45.92    TRUNC(45.926)->45    TRUNC(45.926,-1)->40
 
*******************************************************************************
* String Functions, String Result :                                           *
*******************************************************************************
(num)                   -- ASCII character for num
CHR(num)                -- ASCII character for num
CONCAT(str1, str2)      -- str1 concatenated with str2 (same as str1||str2)
INITCAP(str)            -- 单词的首个字母大写,其他小写
LOWER(str)              -- str with all letters in lowercase
LPAD(str1, num [,str2]) -- left pad str1 to length num with str2 (default spaces)

例:LPAD(SAL,10,'*')->******1700
LTRIM(str [,set])       -- remove set from left side of str (default spaces)
NLS_INITCAP(str [,nls_val]) -- same as initcap for different languages
NLS_LOWER(str [,nls_val])   -- same as lower for different languages
REPLACE(str1, str2 [,str3]) -- replaces str2 with str3 in str1
                             -- deletes str2 from str1 if str3 is omitted
RPAD(str1, num [,str2])     -- right pad str1 to length num with str2 (default spaces)
RTRIM(str [,set])           -- remove set from right side of str (default spaces)
SOUNDEX(str)                -- phonetic representation of str
SUBSTR(str, num2 [,num1])   -- substring of str, starting with num2,
                             -- num1 characters (to end of str if num1 is omitted)
SUBSTRB(str, num2 [,num1])  -- same as substr but num1, num2 expressed in bytes
TRANSLATE(str, set1, set2)  -- replaces set1 in str with set2
                             -- if set2 is longer than set1, it will be truncated
UPPER(str)                  -- str with all letters in uppercase
 
*******************************************************************************
* String Functions, Numeric Result :                                          *
*******************************************************************************
 
ASCII(str)                        -- ASCII value of str
INSTR(str1, str2 [,num1 [,num2]]) -- position of num2th occurrence of
                                   -- str2 in str1, starting at num1
                                   -- (num1, num2 default to 1)

INSTR('STRING','R')->3
INSTRB(str1, str2 [,num1 [num2]]) -- same as instr, byte values for num1, num2
LENGTH(str)                       -- number of characters in str
LENGTHB(str)                      -- number of bytes in str
NLSSORT(str [,nls_val])           -- nls_val byte value of str
 
*******************************************************************************
* SQL Conversion Functions                                                    *
*******************************************************************************
CHARTOROWID(str)                   -- converts str to ROWID
CONVERT(str, chr_set2 [,chr_set1]) -- converts str to chr_set2
                                    -- chr_set1 default is the datbase character set
HEXTORAW(str)         -- converts hex string value to internal raw values
RAWTOHEX(raw_val)     -- converts raw hex value to hex string value
ROWIDTOCHAR(rowid)    -- converts rowid to 18 character string format
TO_CHAR(expr [,fmt])  -- converts expr(date or number) to format specified by fmt
TO_DATE(str [,fmt])   -- converts string to date
TO_MULTI_BYTE(str)    -- converts single byte string to multi byte string
TO_NUMBER(str [,fmt]) -- converts str to a number formatted by fmt
TO_SINGLE_BYTE(str)   -- converts multi byte string to single byte string
 
*******************************************************************************
* SQL Date Formats                                                            *
*******************************************************************************
 
BC, B.C.        BC indicator
AD, A.D.        AD indicator
CC, SCC         Century Code (SCC includes space or - sign)
YYYY, SYYYY     4 digit year (SYYYY includes space or - sign)
IYYY            4 digit ISO year
Y,YYY           4 digit year with comma
YYY, YY, or Y   last 3, 2, or 1 digit of year
YEAR, SYEAR     year spelled out (SYEAR includes space or - sign)
RR              last 2 digits of year in prior or next century
Q               quarter or year, 1 to 4
MM              month - from 01 to 12
MONTH           month spelled out
MON             month 3 letter abbreviation
RM              roman numeral for month
WW              week of year, 1 to 53
IW              ISO week of year, 1 to 52 or 1 to 53
W               week of month, 1 to 5 (week 1 begins 1st day of the month)
D               day of week, 1 to 7
DD              day of month, 1 to 31
DDD             day of year, 1 to 366
DAY             day of week spelled out, nine characters right padded
DY              day abbreviation
J               # of days since Jan 1, 4712 BC
HH, HH12        hour of day, 1 to 12
HH24            hour of day, 0 to 23
MI              minute of hour, 0 to 59
SS              second of minute, 0 to 59
SSSSS           seconds past midnight, 0 to 86399
AM, A.M.        am indicator
PM, P.M.        pm indicator
any puctuation  punctuation between format items, as in 'DD/MM/YY'
any text        text between format items
TH              converts 1 to '1st', 2 to '2nd', and so on
SP              converts 1 to 'one', 2 to 'two', and so on
SPTH            converts 1 to 'FIRST', 2 to 'SECOND', and so on
FX              fill exact : uses exact pattern matching
FM              fill mode  : toggles suppression of blanks in output
 
*******************************************************************************

UNION ALL  并集
INTERSECT  交集
MINUS      差集

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/797362/viewspace-592679/,如需转载,请注明出处,否则将追究法律责任。

下一篇: develop技术汇总
请登录后发表评论 登录
全部评论

注册时间:2009-05-04

  • 博文量
    10
  • 访问量
    13741