系统函数

原创 2004年09月03日 16:32:00

查询中使用的函数<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

? 在查询语句中,不仅可查询表中列的值而且可以使用内部函数查询数据库中不同类型的信息。可以在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

?

C语言——系统函数和库函数的区别

系统调用:是操作系统为用户态运行的进程和硬件设备(如CPU、磁盘、打印机等)进行交互提供的一组接口,即就是设置在应用程序和硬件设备之间的一个接口层。可以说是操作系统留给用户程序的一个接口。再来说一下,...
  • Eleanor_12
  • Eleanor_12
  • 2016年12月10日 20:41
  • 2674

Linux系统调用函数列表

以下是Linux系统调用的一个列表,包含了大部分常用系统调用和由系统调用派生出的的函数。这可能是你在互联网上所能看到的唯一一篇中文注释的Linux系统调用列表,即使是简单的字母序英文列表,能做到这么完...
  • yuan892173701
  • yuan892173701
  • 2013年03月18日 15:59
  • 2379

文件I/O之C标准库函数和系统库函数区别

1.首先C标准库函数是工作在系统库函数之上的。C标准库函数在读写文件时候都有一个文件流指针。FILE*fp=NULL;// fp=fopen(F_PATH,"r");  fp文件流指针,其指向结构体...
  • huangshanchun
  • huangshanchun
  • 2015年06月06日 15:34
  • 1573

UCOS的46个系统函数.pdf

  • 2013年08月08日 23:11
  • 187KB
  • 下载

简单登录系统函数

  • 2017年08月04日 20:26
  • 2KB
  • 下载

Linux系统函数最全收集(学习linux必备)

  • 2017年11月10日 15:54
  • 51KB
  • 下载

STM32的SysTick系统滴答版本A(STM32神舟IV号-库函数版)程序,亲测能用

  • 2017年11月25日 17:26
  • 2.2MB
  • 下载

STM32的系统定时器(库函数)

  • 2017年11月28日 17:49
  • 32KB
  • 下载

Linux常用系统调用函数.ppt

  • 2015年11月22日 10:58
  • 455KB
  • 下载

系统环境变量Environ 函数

  • 2013年12月07日 01:06
  • 1KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:系统函数
举报原因:
原因补充:

(最多只允许输入30个字)