Sybase 函数用法大全.docx
Sybase 函数用法大全Sybase 函数用法大全 一、字符串函数: 长度和语法分析 datalength(char_expr) 在char_expr中返回字符的长度值,忽略尾空 substring(expression,start,length) 返回部分字符串 right(char_expr,int_expr) 返回char_expr右边的int_expr字符 基本字符串运算 upper(char_expr) 把char_expr转换成大写形式 lower(char_expr) 把char_expr转换成小写形式 space(int_expr) 生成有int_expr个空格的字符串 replicate(char_expr,int_expr) 重复char_expr,int_expr次 stuff(expr1,start,length,expr2) 用expr2代替epxr1中start起始长为length的字符串 reverse(char_expr) 反写char_expr中的文本 ltrim(char_expr) 删除头空 rtrim(char_expr) 删除尾空 格式转换 ascii(char_expr) 返回char_expr中第一个字符的ASCII值 char(int_expr) 把ASCII码转换为字符 str(float_expr,length,decimal) 进行数值型到字符型转换 soundex(char_expr) 返回char_expr的soundex值 difference(char_expr1,char_expr2) 返回表达式soundex值之差 串内搜索 charindex(char_expr,expression) 返回指定char_expr的开始位置,否则为0 patindex("%pattern%",expression) 返回指定样式的开始位置,否则为0 datalength用于确定可变字符串的长度 soundex用于确定字符串是否发音相似 difference返回0-4之间的值,0表示最不相似,4表示最相似 通配符 % 匹配任何数量的字符或无字符 _ 匹配任何单个字符 规定有效范围,或某个"OR"条件 ABG A,B,G A-C A,B,C A-CE-G A,B,C,E,F,G ABG 除了A,B,G A-C 除了A,B,C escape子句 用某个转义字符可在搜索字符串时将通配符作为文字来包含。 ANSI-89 SQL标准定义了escape子句指定某个转义字符 缺省情况下,来转义某个通配符,例: select * from test_tab where description like "%20%" 语法: like char_expression escape escape_character 例 select * from test_tab where description like "%20#%" escape "#" + 可用于串接字符 select au_laname+","+au_fname from authors 二、数学函数: abs(numeric_expr) 返回指定值的绝对值 ceiling(numeric_expr) 返回大于或等于指定值的最小整数 exp(float_expr) 给出指定值的指数值 floor(numeric_expr) 返回小于或等于指定值的最大整数 pi 返回常数3.1415926 power(numeric_expr,power) 返回numeric_expr的值给power的幂 rand(int_expr) 返回0-1之间的随机浮点数,可指定基值 round(numeric_expr,int_expr) 把数值表达式圆整到int_expr指定的精度 sign(int_expr) 返回正+1,零0或负-1 sqrt(float_expr) 返回指定值的平方根 SQL SERVER支持所有标准的三角函数和其他有用的函数 三、日期函数: getdate 返回当前的系统日期和时间 datename(datepart,date_expr) 以字符串形式返回date_expr指定部分的值,转换成合适的名字 datepart(datepart,date_expr) 作为整数返回date_expr值的指定部分 datediff(datepart,date_expr1,date_expr2) 返回date_expr2-date_expr1,通过指定的datepart度量 dateadd(datepart,number,date_expr) 返回日期,通过在date_expr上增加指定number的日期部件而产生的 datepart 日期部件 缩写 值范围 年 yy 1753-9999 季度 qq 1-4 月 mm 1-12 每年中的天 dy 1-366 天 dd 1-31 星期 wk 1-54 星期天 dw 1-7(1=sunday) 小时 hh 0-23 分钟 mi 0-59 秒 ss 0-59 毫秒 ms 0-999 例: select invoice_no, datediff(dd,date_shipped,getdate) from invoices where balance_due>0 四、转换函数convert 此函数把值从一种类型改变成另一种类型 convert(datetype (length),expression) select "Advance="+convert(char(12),advance) from titles 日期转换 convert(datetype(length),expression,format) format指定将日期转换为什么格式,有以下值: 没有世纪 有世纪 转换字符串中日期格式 0 or 100 mon dd yyy hh:miAM(or PM) 1 101 mm/dd/yy 2 102 yy.mm.dd 3 103 dd/mm/yy 4 104 dd.mm.yy 5 105 dd-mm-yy 6 106 dd mon yy 7 107 mon dd,yy 8 108 hh:mm:ss 9 or 109 mon dd,yyyy hh:mi:ss:mmmAM(or PM) 10 110 mm-dd-yy 11 111 yy/mm/dd 12 112 yymmdd 五、系统函数: 函数 定义 访问和安全性信息 host_id 客户进程的当前主机进程ID号 host_name 客户进程的当前主计算机名 suser_id("login_name") 用户的SQL Server ID号 suser_name(server_user_id) 用户的SQL Server登录名 user_id("name_in_db") 用户在数据库中的ID号 user_name(user_id) 用户在数据库中的名字 user 用户在数据库中的名字 show_role 用户的当前活动角色 数据库和对象信息 db_id("db_name") 数据库ID号 db_name(db_id) 数据库名 object_id("objname") 数据库对象ID号 object_name(obj_id) 数据库对象号 col_name(obj_id,col_id) 对象的栏名 col_length("objname","colname") 栏的长度 index_col("objname",index_id,key#) 已索引的栏名 valid_name(char_expr) 若char_expr不是有效标识符,则返回0 数据函数 datalength(expression) 按字节返回expression的长度 tsequal(timestamp1,timestamp2) 比较时戳值,若时戳值不匹配,则返回出错消息 isnull 用指定的值代替查询栏或合计中的空值 例:select avg(isnull(total_order,$0) from invoices