|
導(dǎo)讀數(shù)據(jù)庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數(shù)據(jù)進(jìn)行新增、截取、更新、刪除等操作。所謂“數(shù)據(jù)庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應(yīng)... 數(shù)據(jù)庫,簡而言之可視為電子化的文件柜——存儲電子文件的處所,用戶可以對文件中的數(shù)據(jù)進(jìn)行新增、截取、更新、刪除等操作。所謂“數(shù)據(jù)庫”是以一定方式儲存在一起、能與多個用戶共享、具有盡可能小的冗余度、與應(yīng)用程序彼此獨(dú)立的數(shù)據(jù)集合。 在查詢語句中,不僅可查詢表中列的值而且可以使用內(nèi)部函數(shù)查詢數(shù)據(jù)庫中不同類型的信息。可以在SELECT列表,WHERE子句和任何允許表達(dá)式的地方使用內(nèi)部函數(shù)。這些函數(shù)都是T-SQL對SQL的擴(kuò)展。Adaptive Server提供的內(nèi)部函數(shù)可以分成以下幾類: l 系統(tǒng)函數(shù)。返回?cái)?shù)據(jù)庫中的信息; l 字符串函數(shù)。用于處理字符串或字符串表達(dá)式; l text函數(shù)。用于處理text和image類型的數(shù)據(jù); l 數(shù)學(xué)類型。用于處理三角、幾何以及其它數(shù)據(jù)處理的函數(shù); l 日期函數(shù)。處理datetime和smalldatetime類型的數(shù)據(jù); l 數(shù)據(jù)類型轉(zhuǎn)換函數(shù)(convert)。用于將一種數(shù)據(jù)類型轉(zhuǎn)換成另一種數(shù)據(jù)類型,也可將日期格式化成各種形式。 l 安全函數(shù)。返回安全服務(wù)和用戶自定義角色的信息 一、系統(tǒng)函數(shù) 系統(tǒng)函數(shù)從數(shù)據(jù)庫返回特定的信息,它們中的大多數(shù)提供了查詢系統(tǒng)表的簡便方式。 系統(tǒng)函數(shù)的一般語法: select function_name ( argument[s] ) 系統(tǒng)函數(shù)可以用在選擇項(xiàng)里、where子句里以及任何允許表達(dá)式存在的地方。例如:如果要查詢“zyf”的用戶標(biāo)示號,則輸入: select “用戶標(biāo)示號” =user_id ( “zyf” ) 結(jié)果: 用戶標(biāo)示號 —— 3 一般來說,函數(shù)名表示里將返回什么樣的信息。 User_name用ID號作參數(shù)而返回用戶的名字。如下,如果查詢ID號為3的用戶名 Select “用戶名” = user_name(3) 結(jié)果: 用戶名 —— zyf 找出當(dāng)前用戶的名字(也就是正在使用的用戶名) select user_name() 結(jié)果: 用戶名 —— dbo Adaptive Server按照如下的規(guī)則處理用戶標(biāo)示符: l 當(dāng)系統(tǒng)管理員成為他使用的數(shù)據(jù)庫的所有者時,其登陸用戶ID被指定為1; l guest用戶的登陸用戶ID總是-1 l 數(shù)據(jù)庫所有者的用戶總是dbo,他的用戶ID是1; l guest用戶的ID是2 系統(tǒng)函數(shù)表 函數(shù)名 參數(shù) 返回結(jié)果 Col_name (object_id,column_id[,database_id]) 列名 Col_length (object_name,column_name) 列的定義長度(使用datalength是查看實(shí)際數(shù)據(jù)的長度) curunreservedpgs (dbid,lstart,unreservedpgs) 磁盤片中的空閑頁數(shù)。如果數(shù)據(jù)庫是打開的,則該值來自于內(nèi)存;如果數(shù)據(jù)庫沒有打開則該值來自于系統(tǒng)表sysusages中列unreservedpgs Data_pgs (object_id,{doampg | ioampg}) 被表(doampg)或索引(ioampg)使用的頁數(shù)。該結(jié)果不包括內(nèi)部結(jié)果使用的頁數(shù) Datalength (expression) 返回expression的長度。Expression可以是列名也可以是字符串常量。如果是列名則返回列中實(shí)際數(shù)據(jù)的長度。 Db_id ([database_name]) 數(shù)據(jù)庫的ID號。數(shù)據(jù)庫名必須為字符表達(dá)式,如果數(shù)據(jù)庫名為字符常量,則必須用引號將其引起來。如果沒有給出數(shù)據(jù)庫名,則返回當(dāng)前數(shù)據(jù)庫的ID號 Db_name ([database_id]) 數(shù)據(jù)庫名。Database_id必須是數(shù)值表達(dá)式如果沒有給出database_id,則返回當(dāng)前數(shù)據(jù)庫名。 Host_id () 客戶進(jìn)程(非Adaptive Server進(jìn)程)的當(dāng)前主機(jī)名 Host_name () 索引列名。如果object_name 不是表名或視圖名,則返回NULL Index_col (object_name,index_id,key_#[,user_id]) 當(dāng)expression1為NULL時,用expression2的值來代替expression1的值。表達(dá)式的值必須可隱式地轉(zhuǎn)化,否則必須使用convert函數(shù) Isnull (expression1,expression2) 管理日志段的最后機(jī)?值。Lastchance:在指定的數(shù)據(jù)庫中創(chuàng)建一個最后機(jī)會值;當(dāng)指定數(shù)據(jù)庫的最后機(jī)會值被超過時返回1,否則返回0;unsuspend:用以喚醒數(shù)據(jù)庫中掛起的任務(wù)并且當(dāng)最后機(jī)會值被超過時使用該機(jī)會值無效;reserve:返回要成功地轉(zhuǎn)儲指定大小的一個事務(wù)日志時所需的自由日志頁的數(shù)目。 Lct_admin ({{“l(fā)astchance”|”logfull”|”unsuspend”} ,database_id}| “reserve” ,log_pages}) 分配給表或索引的頁數(shù) [page_break]Reserved_pgs (object_id,{doampg|ioampg}) 表中行數(shù)的估計(jì)值 Rowent (doampg) 數(shù)據(jù)庫對象ID號 Object_id (“objname”) 數(shù)據(jù)庫對象名 Object_name (obj_id) 從表syslogins中返回服務(wù)器用的ID號,如果沒有給出參數(shù)server_user_name的值則返回當(dāng)前用戶的服務(wù)器ID號 Suser_id ([server_user_name]) 返回服務(wù)器用戶名,服務(wù)器用戶的ID號存儲在表syslogins中,如果沒有給出參數(shù)server_user_id的值,則返回當(dāng)前用戶名。 Tsequal (timestamp,timestamp2) 在瀏覽模式下,比較timestamp的值以阻止提交那些被修改過的值。Timestamp是被瀏覽行的時間標(biāo)志;timestamp2是存儲行的時間標(biāo)志。該函數(shù)允許用戶不調(diào)用db_library而使用瀏覽模式。 Used_pgs (object_id,doampg,ioampg) 由表和聚簇索引使用的列數(shù) User 用戶名 User_id ([user_name]) 用戶的ID號。報(bào)告當(dāng)前數(shù)據(jù)庫中的用戶ID號,如果沒有給出參數(shù)user_name,返回當(dāng)前用戶的ID號。 User_name ([user_id]) 返回與當(dāng)前數(shù)據(jù)庫的用戶ID號相對應(yīng)的用戶名。如果沒有提供參數(shù)user_id的值,則返回當(dāng)前用戶名。 Valid_name (character_expression) 如果character_expression是無效的標(biāo)識符(非法字符或長度超過了30),則返回0;否則返回非0數(shù)值 Valid_user (server_user_id) 如果指定的ID號在Adaptive Server的至少一個數(shù)據(jù)庫中有其對應(yīng)的用戶名或別名,則返回1;只有sa_role或sso_role角色的用戶才可以使用該函數(shù)。 例子: 1、找出表titles中title列的長度 slelect “標(biāo)題長度”=col_length(“article”,”title”) 結(jié)果: 標(biāo)題長度 ----- 120 2、找出表article中title列中數(shù)據(jù)的長度 select length=datalength(title),title from article 結(jié)果: length title 24 軟透露其internet 策略 20 A推出兩種網(wǎng)絡(luò)新軟件 21 IBM發(fā)布新版SYSTEMVIEW 3、查找所有作家的工資,如果工資為NULL值則替換成$10.00 select isnull(salary,$10.00) from auths 結(jié)果: —— 120.00 100.00 110.00 10.00 4、查出系統(tǒng)表sysusers中的用戶ID為1的用戶名 select name form sysusers where name=user_name(1) 結(jié)果: name —— dbo 全新的路由器不僅讓你更穩(wěn)定快速地連接無線網(wǎng)絡(luò),更可以讓家中的智能設(shè)備連接在一起。 |
溫馨提示:喜歡本站的話,請收藏一下本站!