当前位置: 首页 > 图文教程 > 数据库 > MSSQL > T-SQL 查询中使用的函数之系统函数

MSSQL
MS SQL Server 2000系统数据类型
SQL Server几个容易出错的数据类型
SQL Server 数据库中关于死锁的分析
站长必备的sql查询语言基础知识
经验分享交流:常用SQL语句技法
SQL SERVER 2000 数据库备份与还原
解决SQL SERVER 2005无法远程连接的问题
SQL Server 安装参考意见
在sqlserver2005中安装sql server 2000的示例数据库northwind
SQL Server 2000 数据库分离与附加
高级自定义查询、分页、多表联合存储过程
SQL Server数据库下教你如何做导库SQL
常用的 MSSQL Server 数据修复命令
SQL存储过程初探
SQL Server存储过程编写经验和优化
卸载SQL Server2000后不能再次安装的问题解决方法
教你安装SQL Server 2005示例数据库
MySQL 的外键与参照完整性: Part 1
SQL Server安装:"安装文件配置服务器失败"的解决方法
SQL Server 数据库文件存放在何处

MSSQL 中的 T-SQL 查询中使用的函数之系统函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 72 ::
收藏到网摘: n/a

 在查询语句中,不仅可查询表中列的值而且可以使用内部函数查询数据库中不同类型的信息。可以在SELECT列表,WHERE子句和任何允许表达式的地方使用内部函数。这些函数都是T-SQL对SQL的扩展。Adaptive Server提供的内部函数可以分成以下几类:
l         系统函数。返回数据库中的信息;
l         字符串函数。用于处理字符串或字符串表达式;
l         text函数。用于处理text和image类型的数据;
l         数学类型。用于处理三角、几何以及其它数据处理的函数;
l         日期函数。处理datetime和smalldatetime类型的数据;
l         数据类型转换函数(convert)。用于将一种数据类型转换成另一种数据类型,也可将日期格式化成各种形式。
l         安全函数。返回安全服务和用户自定义角色的信息
一、系统函数
系统函数从数据库返回特定的信息,它们中的大多数提供了查询系统表的简便方式。
系统函数的一般语法:
select function_name ( argument[s] )
系统函数可以用在选择项里、where子句里以及任何允许表达式存在的地方。例如:如果要查询“zyf”的用户标示号,则输入:
select  “用户标示号” =user_id ( “zyf” )
 
 
结果:
用户标示号
——
3
一般来说,函数名表示里将返回什么样的信息。
User_name用ID号作参数而返回用户的名字。如下,如果查询ID号为3的用户名
Select “用户名” = user_name(3)
结果:
用户名
——
zyf
找出当前用户的名字(也就是正在使用的用户名)
select user_name()
结果:
用户名
——
dbo
Adaptive Server按照如下的规则处理用户标示符:
l         当系统管理员成为他使用的数据库的所有者时,其登陆用户ID被指定为1;
l         guest用户的登陆用户ID总是-1
l         数据库所有者的用户总是dbo,他的用户ID是1;
l         guest用户的ID是2
 
系统函数表
函数名
 参数
 返回结果
 
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])
 当expression1为NULL时,用expression2的值来代替expression1的值。表达式的值必须可隐式地转化,否则必须使用convert函数
 
Isnull
 (expression1,expression2)
 管理日志段的最后机?值。Lastchance:在指定的数据库中创建一个最后机会值;当指定数据库的最后机会值被超过时返回1,否则返回0;unsuspend:用以唤醒数据库中挂起的任务并且当最后机会值被超过时使用该机会值无效;reserve:返回要成功地转储指定大小的一个事务日志时所需的自由日志页的数目。
&