时间: 2021-08-13 作者:daque
在查问语句中,不只可查问表中列的值并且不妨运用里面因变量查问数据库中各别典型的消息。不妨在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}) 调配给表或索引的页数 [page_break]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