|
| |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
在查询语句中,不仅可查询表中列的值而且可以使用内部函数查询数据库中不同类型的信息。可以在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:返回要成功地转储指定大小的一个事务日志时所需的自由日志页的数目。 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_role或sso_role角色的用户才可以使用该函数。 例子: 1、找出表titles中title列的长度 slelect “标题长度”=col_length(“article”,”title”) 结果: 标题长度 ----- 120 2、找出表article中title列中数据的长度 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中的用户ID为1的用户名 select name form sysusers where name=user_name(1) 结果: name ―― dbo 返回类别: 教程 上一教程: SQL SERVER实用技巧 下一教程: SQL SERVER 7.0 入门(五) 您可以阅读与"T-SQL查询中使用的函数之系统函数"相关的教程: · T-SQL 查询中使用的函数之系统函数 · 在SQL2000查询中使用XDR的例子 · 在SQL中使用CONVERT函数进行日期的查询 · sql server关于函数中如何使用Getdate() · SQL中使用CASE的情? |
| 快精灵印艺坊 版权所有 |
首页 |
||