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

2016-01-29 16:41 64 1 收藏

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

【 tulaoshi.com - SQLServer 】

 在查询语句中,不仅可查询表中列的值而且可以使用内部函数查询数据库中不同类型的信息。可以在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:返回要成功地转储指定大小的一个事务日志时所需的自由日志页的数目。
&

来源:http://www.tulaoshi.com/n/20160129/1499313.html

延伸阅读
标签: Web开发
前段时间被IE和JavaScript脚本引擎的Memory Leak问题弄得郁闷坏了,不过幸好现在总算是柳暗花明了,并且找到了一些IE中使用脚本避免ML问题的方法。继续研究JavaScript的编写,有发现一些不算ML问题,但是可以节约IE内存使用的方法,在此和大家讨论讨论。     我们在JavaScript中编写代码,对于定义函数的语句: function ...
标签: SQLServer
1. 查看数据库的版本        select @@version        常见的几种SQL SERVER打补丁后的版本号:         8.00.194   Microsoft SQL Server 2000      8.00.384&...
标签: SQLServer
1. 查看数据库的版本     select @@version     常见的几种SQL SERVER打补丁后的版本号:     8.00.194   Microsoft SQL Server 2000   8.00.384   Microsoft SQL Server 2000 SP1   8.00.532   Microsoft SQL Server 2000 SP2   8.00.760   Microsoft SQL Server 200...
一、 只复制一个表结构,不复制数据 select top 0 * into [t1] from [t2] 二、 获取数据库中某个对象的创建脚本 1、 先用下面的脚本创建一个函数 if exists(select 1 from sysobjects where id=object_id('fgetscript') and objectproperty(id,'IsInlineFunction')=0) drop function fgetscript...
标签: SQLServer
SQL Server 2005中的T-SQL增强(一) 丰富的数据类型 Richer Data Types 1、varchar(max)、nvarchar(max)和varbinary(max)数据类型最多可以保存2GB的数据,可以取代text、ntext或image数据类型。 CREATE TABLE myTable(id INT,content VARCHAR(MAX)) 2、XML数据类型 XML数据类型允许用户在SQL Server数据库中保存XML片...

经验教程

45

收藏

87
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部