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代替epxr1start起始长为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_exprsoundex

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]   除了ABC

 

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()

isnull函数用指定的值代替查询栏或合计中的空值

例:

    select avg(isnull(total_order,$0))

      from invoices

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值