欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
SQL Server 2000基礎教程——字符串函數(二)

SQL Server 2000基礎教程——字符串函數(二)- -

                                      

8、系統函數
系統函數用于獲取有關(guān)計算機系統、用戶(hù)、數據庫和數據庫對象的信息。系統函數可以讓用戶(hù)在得到信息后,使用條件語(yǔ)句,根據返回的信息進(jìn)行不同的操作。與其它函數一樣,可以在SELECT 語(yǔ)句的SELECT 和WHERE 子句以及表達式中使用系統函數。

·APP_NAME()
APP_NAME() 函數語(yǔ)法如下:
 APP_NAME()
APP_NAME() 函數返回當前執行的應用程序的名稱(chēng)。其返回值類(lèi)型為nvarchar (128)。

  例4-77: 測試當前應用程序是否為SQL Server Query Analyzer



·COALESCE()
COALESCE() 函數語(yǔ)法如下:
COALESCE (<expression> [, ...n])
COALESCE() 函數返回眾多表達式中第一個(gè)非NULL 表達式的值。如果所有的表達式均為NULL, 則COALESCE() 函數返回NULL 值。COALESCE() 函數等效于下面的CASE 語(yǔ)句:

CASE
WHEN (expression1 IS NOT NULL) THEN expression1

WHEN (expressionN IS NOT NULL) THEN expression
ELSE NULL

  例4-78:


·COL_LENGTH()
COL_LENGTH() 函數語(yǔ)法如下:
 COL_LENGTH (<‘table_name‘>, <‘column_name‘>)
COL_LENGTH() 函數返回表中指定字段的長(cháng)度值。其返回值為INT 類(lèi)型。

  例4-79:


·COL_NAME()
COL_NAME() 函數語(yǔ)法如下:
 COL_NAME (<table_id>, <column_id>)
COL_NAME() 函數返回表中指定字段的名稱(chēng),即列名。其返回值為SYSNAME 類(lèi)型。其中table_id 和column_id 都是INT 類(lèi)型的數據,函數用table_id 和column_id 參數來(lái)生成列名字符串。關(guān)于如何獲得table_id 和column_id, 請參見(jiàn)OBJECT_ID() 函數。

  例4-80:



·DATALENGTH()
DATALENGTH() 函數語(yǔ)法如下:
DATALENGTH (<expression>)
DATALENGTH() 函數返回數據表達式的數據的實(shí)際長(cháng)度。其返回值類(lèi)型為INT。DATALENGTH() 函數對VARCHAR、 VARBINARY、 TEXT、 IMAGE、 NVARCHAR和NTEX 等能存儲變動(dòng)長(cháng)度數據的數據類(lèi)型特別實(shí)用。NULL 的長(cháng)度為NULL。

  例4-81:


· DB_ID()
DB_ID() 函數語(yǔ)法如下:
DB_ID ([‘database_name‘])
DB_ID() 函數返回數據庫的編號。其返回值為SMALLINT 類(lèi)型。如果沒(méi)有指定database_name, 則返回當前數據庫的編號。

  例4-82:



·DB_NAME()
DB_NAME() 函數語(yǔ)法如下:
DB_NAME (database_id)
DB_NAME() 函數返回數據庫的名稱(chēng).其返回值類(lèi)型為NVARCHAR (128). database_id是SMALLINT 類(lèi)型的數據.如果沒(méi)有指定database_id, 則返回當前數據庫的名稱(chēng).

  例4-83:


· FORMATMESSAGE()
FORMATMESSAGE() 函數語(yǔ)法如下:
 FORMATMESSAGE (<message_number>, <param_value>[, ...n])
FORMATMESSAGE() 函數用于從系統信息表sysmessages 中挑選一條現存的信息,
再將其格式轉換為用戶(hù)需要的形式.其功能類(lèi)似于RAISERROR 命令,不同的是RAISERROR命令立即打印出信息,而FORMATMESSAGE() 函數返回編輯過(guò)的信息給調用它的程序.其返回值類(lèi)型為NVARCHAR.
其中message_number 是存儲在sysmessages 系統表中的信息ID 號.param_value 是在信息中使用的參數.最多可使用20 個(gè)參數.
FORMATMESSAGE() 函數查找使用當前語(yǔ)言平臺語(yǔ)言的信息,如果沒(méi)有本地語(yǔ)言的信息,則使用U.S. English 版本語(yǔ)言的信息.

  例4-84: 假定有一個(gè)編號為10001 的信息存儲在sysmessages 表中,此信息的內容為"The Length of rows %column_name in %table_name is %column_num.".FORMATMESSAGE() 函數用值myColumn、 myTable 和20 分別替代上述參數值,將結果存儲在變量@test1 中.程序如下:
declare @test1 varchar (100)
select @test1 = formatmessage (10001, ‘myColumn‘, ‘myTable‘, 20)

·GETANSINULL()
GETANSINULL() 函數語(yǔ)法如下:
 GETANSINULL() ([‘database_name‘])
GETANSINULL() 函數返回當前數據庫默認的NULL 值.其返回值類(lèi)型為INT.GETANSINULL() 函數對ANSI 空值NULL 返回1; 如果沒(méi)有定義ANSI 空值,則返回0.

  例4-85:
select getansinull (‘pangu‘)
運行結果如下:
------
1

·HOST_ID()
HOST_ID() 函數語(yǔ)法如下:
 HOST_ID()
HOST_ID() 函數返回服務(wù)器端計算機的名稱(chēng).其返回值類(lèi)型為NCHAR.

  例4-86:
declare @hostID char (8)
select @hostID = host_id()
print @hostID
運行結果如下:
-606771

·HOST_NAME()
HOST_NAME() 函數語(yǔ)法如下:
 HOST_NAME()
HOST_NAME() 函數返回服務(wù)器端計算機的名稱(chēng).其返回值類(lèi)型為CHAR (8).

例4-87:
declare @hostNAME nchar (20)
select @hostNAME = host_name()
print @hostNAME

運行結果如下:
XUJIN

·IDENTITY()
IDENTITY() 函數語(yǔ)法如下:
IDENTITY (<data_type>[, seed, increment]) [AS column_name])
IDENTITY() 函數只在SELECT...INTO 語(yǔ)句中使用,用于插入一個(gè)identity column列到新表中.其返回值類(lèi)型與data_type 的類(lèi)型相同.

其中:
data_type 指定數據類(lèi)型.data type 是INTEGER 或DECIMAL 類(lèi)的數據類(lèi)型.Seed指定identity column 的初值,即第一個(gè)值.Increment 指定增加一個(gè)記錄時(shí),記錄的identity column 值應在前記錄的基礎上增加的值.seed 和increment 的缺省值為1.column_name 是所插入的identity column 的列名.雖然AS column_name 為可選項,但由于函數在表中插入了一個(gè)新列,所以必須指定列名.如果不使用AS column_name 選項,可以使用以下兩種方式來(lái)指定列名:
(1) select identity (int, 1, 1) as column_name
into newtable
from oldtable
(2) select column_name = identity (int, 1, 1)
into newtable
from oldtable
有關(guān)identity column 的信息,請參見(jiàn)"管理數據庫表"中的"列屬性"章節.

·IDENT_INCR()
IDENT_INCR() 函數語(yǔ)法如下:
 IDENT_INCR (‘table_or_view‘)
IDENT_INCR() 函數返回表中標識性字段identity column 的增量.若無(wú)此字段,則返回NULL 值.其返回值類(lèi)型為NUMERIC.

  例4-88:


·IDENT_SEED()
IDENT_SEED() 函數語(yǔ)法如下:
IDENT_SEED (<‘table_or_view‘>)
IDENT_SEED() 函數返回表中標識性字段identity column 的初值.若無(wú)此字段,則返回NULL 值.其返回值類(lèi)型為NUMERIC.

  例4-89:


·INDEX_COL()
INDEX_COL() 函數語(yǔ)法如下:
INDEX_COL (<‘table_name‘>, <index_id>, <key_id>)
INDEX_COL() 函數返回表內索引識別碼為index_id 的索引的名稱(chēng),并找出組成該索引的列組合中第key_id 個(gè)列名.其返回值類(lèi)型為NCHAR.

 例4-90:



·ISDATE()
ISDATE() 函數語(yǔ)法如下:
ISDATE (<expression>)
ISDATE() 函數判斷所給定的表達式是否為合理日期,如果是則返回1, 不是則返回0.

  例4-91:



·ISNULL()
ISNULL() 函數語(yǔ)法如下:
ISNULL (<check_expression>, <replacement_value>)
ISNULL() 函數將表達式中的NULL 值用指定值替換.如果check_expresssion 不是NULL, 則返回其原來(lái)的值,否則,返回replacement_value 的值.

提醒:reaplacement_value的數據類(lèi)型應與chech_expresssion一致.

  例4-92:


·ISNUMERIC()
ISNUMERIC() 函數語(yǔ)法如下:
 ISNUMERIC (<expression>)
ISNUMERIC() 函數判斷所給定的表達式是否為合理的數值(INTEGER、 FLOATING POINT NUMBER、 MONEY 或DECIMAL 類(lèi)型),如果是則返回1, 不是則返回0.

提醒:檢查MONEY型數據時(shí),應先用CONVERT()函數將其轉換為數值型或字符型。

  例4-93:



·NEWID
NEWID() 函數語(yǔ)法如下:
 NEWID()
NEWID() 函數返回一個(gè)UNIQUEIDENTIFIER 類(lèi)型的數值.此函數使用計算機的網(wǎng)卡的Ethernet 地址加上經(jīng)由CPU Clock 產(chǎn)生的數字而得到其返回值.由于網(wǎng)卡的Ethernet地址是全球惟一的(在未來(lái)近一百年內不會(huì )生產(chǎn)出相同Ethernet 地址的網(wǎng)卡),因而函數所產(chǎn)生的數字也是惟一的.

  例4-94:


·NULLIF()
NULLIF() 函數語(yǔ)法如下:
 NULLIF (<expression1>, <expression2>)
NULLIF() 函數在expression1 與expression2 相等時(shí)返回NULL 值,若不相等時(shí)則返回expression1 的值.其返回值類(lèi)型與expression1 相同.expression1 與expression2 應為同類(lèi)的數據類(lèi)型.

  例4-95:


·OBJECT_ID()
OBJECT_ID() 函數語(yǔ)法如下:
 OBJECT_ID (<‘object_name‘>)
OBJECT_ID() 函數返回數據庫對象的編號.其返回值類(lèi)型為INT.

  例4-96:


提醒:當指定一個(gè)臨時(shí)表的表名時(shí),其表名的前面必須加上臨時(shí)數據庫名"tempdb",如:select object_id("tempdb..#mytemptable").

·OBJECT_NAME()
OBJECT_NAME() 函數語(yǔ)法如下:
 OBJECT_NAME (<object_id>)
OBJECT_NAME() 函數返回數據庫對象的名稱(chēng).其返回值類(lèi)型為NCHAR.

  例4-97:


·PARSENAME()
PARSENAME() 函數語(yǔ)法如下:
 PARSENAME (<‘object_name ‘>, <object_piece>)
PARSENAME() 函數返回一個(gè)數據庫對象完整名稱(chēng)中的特定部分(對象名稱(chēng)或數據庫擁有者名稱(chēng)或數據庫名稱(chēng)或服務(wù)器名稱(chēng)).其返回值類(lèi)型為NCHAR.
 其中object_piece 為INT 類(lèi)型,其取值如下:
  對象名稱(chēng)Object name;
  數據庫擁有者名稱(chēng)Owner name;
  數據庫名稱(chēng)Database name;
  服務(wù)器名稱(chēng)Server name.
 如果object_name 或object_piece 為NULL, 則返回NULL 值.

  例4-98:


·PERMISSIONS()
PERMISSIONS() 函數語(yǔ)法如下:
 PERMISSIONS ([object_id [, ‘column_name‘]])
PERMISSIONS() 函數用于獲取當前用戶(hù)對某一對象的存取權限或對某一命令的執行權限.其返回值為一個(gè)32 位的bitmap 值,其中低16 位表示目前用戶(hù)對象的存取權限設定值.高16 位表示用戶(hù)是否可以開(kāi)放此對象的權限給其它人.
如果不指定object_id, 則函數返回目前用戶(hù)的命令執行權限的bitmap 值.使用column_name 選項可以得到表的列權限.各權限值見(jiàn)表4-10 至4-12.

 有關(guān)PERMISSIONS() 函數使用方法,我們將在以后的章節分別講述.

·STATS_DATE()
STATS_DATE() 函數語(yǔ)法如下:
 STATS_DATE (<table_id>, <index_id>)
STATS_DATE() 函數返回最新的索引統計日期.其返回值類(lèi)型為DATETIME.

  例4-99:


·SUSER_SID()
SUSER_ SID() 函數語(yǔ)法如下:
 SUSER_SID ([‘login_name‘])
SUSER_SID() 函數根據用戶(hù)登錄名返回用戶(hù)的SID (Security Identification Number,安全帳戶(hù)名)號.其返回值類(lèi)型為INT. 如果不指定login_name, 則返回當前用戶(hù)的SID號.

  例4-100:


·SUSER_SNAME()
SUSER_SNAME() 函數語(yǔ)法如下:
 SUSER_SNAME ([server_user_sid])
SUSER_SNAME() 函數根據SID 號返回用戶(hù)的登錄名.如果沒(méi)有指定server_user_sid,則返回當前用戶(hù)的登錄名.其返回值類(lèi)型為NCHAR.

  例4-101:


·USER_ID()
USER_ID() 函數語(yǔ)法如下:
 USER_ID ([‘user_name‘])
USER_ID() 函數根據用戶(hù)數據庫的用戶(hù)名返回用戶(hù)的數據庫ID 號.其返回值類(lèi)型為INT. 如果沒(méi)有指定user_name, 則返回當前用戶(hù)的數據庫ID 號.

  例4-102:


·USER_NAME()
USER_NAME() 函數語(yǔ)法如下:
 USER_NAME ([user_id])
USER_NAME() 函數根據用戶(hù)的數據庫ID 號返回用戶(hù)的數據庫用戶(hù)名.其返回值類(lèi)型為NCHAR. 如果沒(méi)有指定user_id, 則返回當前數據庫的用戶(hù)名.

  例4-103:


9、TEXT 和IMAGE 函數
·TEXTPTR()
TEXTPTR() 函數語(yǔ)法如下:
 TEXTPTR (<column>)
TEXTPTR() 函數返回一個(gè)指向存儲文本的第一個(gè)數據庫頁(yè)的指針.其返回值是一個(gè)VARBINARY (16) 類(lèi)型的二進(jìn)制字符串.如果數據類(lèi)型為T(mén)EXT、 NTEXT 或IMAGE的列沒(méi)有賦予初值,則TEXTPTR() 函數返回一個(gè)NULL 指針.

  例4-104:


·TEXTVALID()
TEXTVALID() 函數語(yǔ)法如下:
 TEXTVALID (<‘table.column‘>, <text_ pointer>)
TEXTVALID() 函數用于檢查指定的文本指針是否有效.如果有效,則返回1; 無(wú)效,則返回0. 如果列未賦予初值,則返回NULL 值.

  例4-105:



10、NILADIC 函數
NILADIC 函數返回一個(gè)用戶(hù)或時(shí)間戳值.這類(lèi)函數均不帶參數.NILADIC 函數經(jīng)常被定義為CREATE 或ALERT TABLE 語(yǔ)句中DEFAULT 約束的一部分,可參見(jiàn)"管理數據庫表"章節.主要的NILADIC 函數如下:

·CURRENT_TIMESTAMP
CURRENT_TIMESTAMP 函數語(yǔ)法如下:
 CURRENT_TIMESTAMP
CURRENT_TIMESTAMP 函數返回當前的日期和時(shí)間,等同于GETDATE() 函數.返回值類(lèi)型為DATETIME.

  例4-106:


·CURRENT_USER
CURRENT_USER 函數語(yǔ)法如下:
 CURRENT_USER
CURRENT_USER 函數與USER_NAME() 函數功能相同,返回當前用戶(hù)的數據庫用戶(hù)名.返回值類(lèi)型為SYSNAME.

  例4-107:


·SESSION_USER
SESSION_USER 函數語(yǔ)法如下:
 SESSION_USER
SESSION_USER 函數等同于USER_NAME() 函數,返回當前用戶(hù)的數據庫用戶(hù)名.返回值類(lèi)型為NCHAR.

·SYSTEM_USER
SYSTEM_USER 函數語(yǔ)法如下:
 SYSTEM_USER
SYSTEM_USER 返回當前系統的用戶(hù)名.如果用戶(hù)是以Windows NT 認證方式登錄SQL Server 的,則會(huì )返回Windows NT 的登錄名;如果用戶(hù)是以SQL Server 認證方式登錄的,則返回SQL Server 中的用戶(hù)名.

  例4-108:


·USER
USER 函數語(yǔ)法如下:
 USER
USER 與系統函數USER_NAME() 的功能相同,返回當前用戶(hù)的數據庫用戶(hù)名.返回值類(lèi)型為CHAR.

  例4-109:


11、用戶(hù)自定義函數
從SQL Server 2000 開(kāi)始,用戶(hù)可以自定義函數了.在SQL Server 2000 中用戶(hù)自定義函數是作為一個(gè)數據庫對象來(lái)管理的,可以使用企業(yè)管理器(Enterprise Manager) 或Transact-SQL 命令來(lái)創(chuàng )建、修改、刪除.其具體方法請參見(jiàn)第13 章"游標、視圖和自定義函數".

本章介紹了Transact-SQL 語(yǔ)言的基本概念,及其使用方法.Transact-SQL 語(yǔ)言需要大量的實(shí)踐,才能熟練運用.本章及以后的SQL 語(yǔ)法基本上都是標準的ANSI SQL 兼容語(yǔ)法,在其它數據庫中,如ORACLE、 SYBASE、 INFORMIX、 FOXPRO 等,大部分語(yǔ)句均可套用.

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
SQLite 觸發(fā)器 | w3cschool菜鳥(niǎo)教程
復習常用的SQL以及一些函數
數據大佬劃出的13條重點(diǎn)SQL語(yǔ)句,句句經(jīng)典!
The database returned no natively generated identity value
mysql常用操作語(yǔ)句
sql server 1
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久