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

MSSQL
SQLSERVER 中datetime 和 smalldatetime类型分析说明
数据库清除日志文件(LDF文件过大)
按日期选择最晚日期与最早日期对应的数的差值
sql 时间函数 整理的比较全了
SQL Server全文检索查询浅析
SQL 存储过程基础语法之一
SQL Substring提取部分字符串
用户"sa"登陆失败 SQLServer 错误18456的解决方法
MSSQL 检查所使用的语句是否符合标准
drop,truncate与delete的区别
SQL语句查询数据库中重复记录的个数
SQL 导入导出Excel数据的语句
可以获取客户端的IP地址的sql语句
SQL 根据汉字获取全拼的代码
sqlserver exists,not exists的用法
sqlserver substring函数使用方法小结
sql 判断数据库,表,存储过程等是否存在的代码
做购物车系统时利用到得几个sqlserver 存储过程
Sql2000数据库的备份文件恢复到Sql2005的方法
sql 分组查询问题

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 43 ::
收藏到网摘: 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:返回要成功地转储指定大小的一个事务日志时所需的自由日志页的数目。
&