Sybase數據庫常用函數
一、字符串函數
1,ISNULL(EXP1,EXP2,EXP3,...) :返回第一個非空值,用法與COALESCE(exp1,exp2[,exp3...])相同;
2,TRIM(exp) :去除兩邊空格;
3,DATEFORMAT(date_exp,date_format) :日期型轉字符型;
4,STRING(exp):轉為字符型;
5,SUBSTRING(exp,int-exp1,[int-exp2]):截取exp從int-exp1開始,截取int-exp2個字符;
6,REPLACE(o-exp,search-exp,replace-exp):從o-exp搜索search-exp,替換為replace-exp;
7,SPACE(int_exp):返回int個空格;
8,UPPER(exp):轉為大寫字母,等價於UCASE(exp);
9,LOWER(exp):轉為小寫字母;
10,CHARINDEX(exp1,exp2):返回exp2字符串中exp1的位置!定位,exp1 查找的字符,exp2 被查找的字符串;
11,DATALENGTH(CHAR_EXPR):在char_expr中返回字符的長度值,忽略尾空;
12,RIGHT(char_expr,int_expr):返回char_expr右邊的int_expr個字符;
13,LEFT(char_expr,int_expr):返回char_expr左邊的int_expr個字符;
14,REPLICATE(char_expr,int_expr):重復char_expr,int_expr次;
15,STUFF(expr1,start,length,expr2):用expr2代替epxr1中start起始長為length的字符串;
16,REVERSE(char_expr):反寫char_expr中的文本;
17,LTRIM(char_expr):刪除頭空;
18,RTRIM(char_expr):刪除尾空;
19,STR(float_expr[,length[,decimal]]):進行數值型到字符型轉換;
20,PATINDEX("%pattern%",expression):返回指定樣式的開始位置,否則為0;
21,NULLIF(exp1,exp1):比較兩個表達式,如果相等則返回null值,否則返回exp1
22,NUMBER(*):返回序號,相當於ORACLE的rowid,但有區別;
二、數值函數
1,CEIL(num-exp):返回大於或等於指定表達式的最小整數;兼容性:IQ&ASE;
2,FLOOR(numeric_expr):返回小於或等於指定值的最大整數;
3,ABS(num-exp):返回數值表達式的絕對值;兼容性:IQ&ASE;
4,TRUNCNUM(1231.1251,2):截取數值;不四舍五入;
5,ROUND(numeric_expr,int_expr):把數值表達式圓整到int_expr指定的精度;
6,RAND([int_expr]):返回0-1之間的隨機浮點數,可指定基值;
7,SIGN(int_expr):返回正+1,零0或負-1;
8,SQRT(float_expr):返回指定值的平方根;
9,PI():返回常數3.1415926;
10,POWER(numeric_expr,power):返回numeric_expr的值給power的冪;
11,EXP(float_expr):給出指定值的指數值;
三、日期函數
1,DAY(date_exp):返回日期天值,DAYS(date_exp,int):返回日期date_exp加int后的日期;MONTH與MONTHS、YEAR與YEARS同理;
2,DATE(exp):將表達式轉換為日期,並刪除任何小時、分鍾或秒;兼容性:IQ
3,DATEPART(date-part,date-exp): 返回日期分量的對應值(整數);
4,GETDATE():返回系統時間;
5,DATENAME(datepart,date_expr):以字符串形式返回date_expr指定部分的值,轉換成合適的名字;
6,DATEDIFF(datepart,date_expr1,date_expr2):返回date_expr2-date_expr1,通過指定的datepart度量;
7,DATEADD(date-part,num-exp,date-exp):返回按指定date-part分量加num-exp值后生成的date-exp值;兼容性:IQ&ASE
8,date-part日期分量代表值:
縮寫 值 YY 0001-9999 QQ 1-4 MM 1-12 WK 1-54 DD 1-31 DY 1--366 DW 1-7(周日-周六) HH 0-23 MI 0-59 SS 0-59 MS 0-999
四、轉換函數
1,CONVERT(datetype,exp[,format-style]):字符轉日期型 或DATE(exp);兼容性:IQ&ASE
format-style值 輸出: 112 yyyymmdd 120 yyyy-mm-dd hh:nn:ss SELECT CONVERT(date,'20101231',112),CONVERT(varchar(10),getdate(),120) ; --結果 2010-12-31 2011-04-07
2,CAST(exp AS data-type):返回轉換為提供的數據類型的表達式的值; 兼容性:IQ
日期函數
五、其他函數
1,RANK() OVER(PARTITION BY .. ORDER BY ..) 分組分析函數,相同的ORDER BY值,返回順序值一樣,且PARTITION BY 只支持一個字段或一個字段組(需多個字段分組的則要用 || 拼為一個字段(待確認))
2,返回可讀的 全局ID UUIDTOSTR(NEWID())
3,COL_LENGTH(tab_name,col_name):返回定義的列長度;兼容性:IQ&ASE
4,LENGTH(exp):返回exp的長度;兼容性:IQ
