系统函数

查询中使用的函数

? 在查询语句中,不仅可查询表中列的值而且可以使用内部函数查询数据库中不同类型的信息。可以在SELECT列表,WHERE子句和任何允许表达式的地方使用内部函数。这些函数都是T-SQLSQL的扩展。Adaptive Server提供的内部函数可以分成以下几类:

l???????? 系统函数。返回数据库中的信息;

l???????? 字符串函数。用于处理字符串或字符串表达式;

l???????? text函数。用于处理textimage类型的数据;

l???????? 数学类型。用于处理三角、几何以及其它数据处理的函数;

l???????? 日期函数。处理datetimesmalldatetime类型的数据;

l???????? 数据类型转换函数(convert)。用于将一种数据类型转换成另一种数据类型,也可将日期格式化成各种形式。

l???????? 安全函数。返回安全服务和用户自定义角色的信息

一、系统函数

系统函数从数据库返回特定的信息,它们中的大多数提供了查询系统表的简便方式。

系统函数的一般语法:

select function_name ( argument[s] )

系统函数可以用在选择项里、where子句里以及任何允许表达式存在的地方。例如:如果要查询“zyf”的用户标示号,则输入:

select? 用户标示号” =user_id ( “zyf” )

?

?

结果:

用户标示号

——

3

一般来说,函数名表示里将返回什么样的信息。

User_nameID号作参数而返回用户的名字。如下,如果查询ID号为3的用户名

Select “用户名” = user_name(3)

结果:

用户名

——

zyf

找出当前用户的名字(也就是正在使用的用户名)

select user_name()

结果:

用户名

——

dbo

Adaptive Server按照如下的规则处理用户标示符:

l???????? 当系统管理员成为他使用的数据库的所有者时,其登陆用户ID被指定为1

l???????? guest用户的登陆用户ID总是-1

l???????? 数据库所有者的用户总是dbo,他的用户ID1

l???????? guest用户的ID2

?

系统函数表

函数名

参数

返回结果

Col_name

(object_id,column_id[,database_id])

列名

Col_length

(object_name,column_name)

列的定义长度(使用datalength是查看实际数据的长度)

curunreservedpgs

(dbid,lstart,unreservedpgs)

磁盘片中的空闲页数。如果数据库是打开的,则该值来自于内存;如果数据库没有打开则该值来自于系统表sysusages中列unreservedpgs

Data_pgs

(object_id,{doampg | ioampg})

被表(doampg)或索引(ioampg)使用的页数。该结果不包括内部结果使用的页数

Datalength

(expression)

返回expression的长度。Expression可以是列名也可以是字符串常量。如果是列名则返回列中实际数据的长度。

Db_id

([database_name])

数据库的ID号。数据库名必须为字符表达式,如果数据库名为字符常量,则必须用引号将其引起来。如果没有给出数据库名,则返回当前数据库的ID

Db_name

([database_id])

数据库名。Database_id必须是数值表达式如果没有给出database_id,则返回当前数据库名。

Host_id

()

客户进程(Adaptive Server进程)的当前主机名

Host_name

()

索引列名。如果object_name 不是表名或视图名,则返回NULL

Index_col

(object_name,index_id,key_#[,user_id])

expression1NULL时,用expression2的值来代替expression1的值。表达式的值必须可隐式地转化,否则必须使用convert函数

Isnull

(expression1,expression2)

管理日志段的最后机?值。Lastchance:在指定的数据库中创建一个最后机会值;当指定数据库的最后机会值被超过时返回1,否则返回0unsuspend:用以唤醒数据库中挂起的任务并且当最后机会值被超过时使用该机会值无效;reserve:返回要成功地转储指定大小的一个事务日志时所需的自由日志页的数目。

Lct_admin

({{“lastchance”|”logfull”|”unsuspend”}

,database_id}|

“reserve”

,log_pages})

分配给表或索引的页数

Reserved_pgs

(object_id,{doampg|ioampg})

表中行数的估计值

Rowent

(doampg)

数据库对象ID

Object_id

(“objname”)

数据库对象名

Object_name

(obj_id)

从表syslogins中返回服务器用的ID号,如果没有给出参数server_user_name的值则返回当前用户的服务器ID

Suser_id

([server_user_name])

返回服务器用户名,服务器用户的ID号存储在表syslogins中,如果没有给出参数server_user_id的值,则返回当前用户名。

Tsequal

(timestamp,timestamp2)

在浏览模式下,比较timestamp的值以阻止提交那些被修改过的值。Timestamp是被浏览行的时间标志;timestamp2是存储行的时间标志。该函数允许用户不调用db_library而使用浏览模式。

Used_pgs

(object_id,doampg,ioampg)

由表和聚簇索引使用的列数

User

?

用户名

User_id

([user_name])

用户的ID号。报告当前数据库中的用户ID号,如果没有给出参数user_name,返回当前用户的ID号。

User_name

([user_id])

返回与当前数据库的用户ID号相对应的用户名。如果没有提供参数user_id的值,则返回当前用户名。

Valid_name

(character_expression)

如果character_expression是无效的标识符(非法字符或长度超过了30),则返回0;否则返回非0数值

Valid_user

(server_user_id)

如果指定的ID号在Adaptive Server的至少一个数据库中有其对应的用户名或别名,则返回1;只有sa_rolesso_role角色的用户才可以使用该函数。

?

例子:

1、找出表titlestitle列的长度

slelect “标题长度”=col_length(“article”,”title”)

? 结果:

? 标题长度

? -----

? 120

2、找出表articletitle列中数据的长度

? select length=datalength(title),title

? from article

? 结果:

length??? title

24??? ??????软透露其internet 策略

20????????????????? A推出两种网络新软件

21??????????????????? IBM发布新版SYSTEMVIEW

3、查找所有作家的工资,如果工资为NULL值则替换成$10.00

?? select isnull(salary,$10.00)

?? from auths

结果:

——

120.00

100.00

110.00

10.00

4、查出系统表sysusers中的用户ID1的用户名

select name form sysusers

where name=user_name(1)

结果:

name

——

dbo

?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB是一种广泛使用的数学计算和工程应用软件,其系统函数库(System Function Library, SFL)提供了大量的预定义函数,这些函数用于信号处理、控制系统设计、图像处理等领域。SFL主要包括以下几个部分: 1. **滤波器设计**:如`fir1`, `fir2`, `butter`, `cheby1`, `cheby2`, `ellip`等函数,用于设计各种类型的滤波器,如巴特沃斯滤波器、切比雪夫滤波器等。 2. **信号处理工具**:如`fft`, `ifft`, `conv`, `filter`等,涉及快速傅立叶变换、卷积、滤波等信号分析和处理操作。 3. **控制系统设计**:有`tf`, `zpk`, `ss`等函数用于处理传递函数模型,以及`lqr`, `step`, `impulse`等用于分析和设计控制系统的动态响应。 4. **图像处理**:`imread`, `imshow`, `imfilter`, `imresize`等函数用于读取、显示和处理图像数据。 5. **数学函数**:如`exp`, `sin`, `cos`, `sqrt`, `log`等基本数学运算函数,还有更复杂的统计和随机数生成函数。 6. **信号和时间序列分析**:`spectrogram`, `periodogram`, `corrcoef`等函数,用于时频分析、相关性计算等。 7. **特殊函数**:如`bessel`, `airy`, `gamma`等,涵盖了众多特殊的数学函数。 8. **数据可视化**:`plot`, `bar`, `hist`, `scatter`等函数,用于创建各种图表。 要了解更多关于特定函数的信息,你可以直接在MATLAB命令窗口输入函数名前缀如`doc`,例如`doc filter`,会显示该函数的帮助文档。如果你有关于某个具体功能或如何使用特定系统函数的问题,也可以告诉我,我会给出更详细的解释。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值