SQL server中 常用系统函数 可以学习下

系统函数用于获取有关计算机系统、用户、数据库和数据库对象的信息。系统函数可以让用户在得到信息后,使用条件语句,根据返回的信息进行不同的操作。与其它函数一样,可以在SELECT 语句的SELECT 和WHERE 子句以及表达式中使用系统函数。 
·COL_LENGTH()
COL_LENGTH() 函数语法如下:
COL_LENGTH (<'table_name'>, <'column_name'>)
COL_LENGTH() 函数返回表中指定字段的长度值。其返回值为INT 类型。
·COL_NAME()
COL_NAME() 函数语法如下:
COL_NAME (<table_id>, <column_id>)
COL_NAME() 函数返回表中指定字段的名称,即列名。其返回值为SYSNAME 类型。其中table_id 和column_id 都是INT 类型的数据,函数用table_id 和column_id 参数来生成列名字符串。关于如何获得table_id 和column_id, 请参见OBJECT_ID() 函数。
·DATALENGTH()
DATALENGTH() 函数语法如下:
DATALENGTH (<expression>)
DATALENGTH() 函数返回数据表达式的数据的实际长度。其返回值类型为INT。DATALENGTH() 函数对VARCHAR、 VARBINARY、 TEXT、 IMAGE、 NVARCHAR和NTEX 等能存储变动长度数据的数据类型特别实用。NULL 的长度为NULL。

· DB_ID()
DB_ID() 函数语法如下:
DB_ID (['database_name'])
DB_ID() 函数返回数据库的编号。其返回值为SMALLINT 类型。如果没有指定database_name, 则返回当前数据库的编号。

·DB_NAME()
DB_NAME() 函数语法如下:
DB_NAME (database_id)
DB_NAME() 函数返回数据库的名称.其返回值类型为NVARCHAR (128). database_id是SMALLINT 类型的数据.如果没有指定database_id, 则返回当前数据库的名称.· FORMATMESSAGE()
·GETANSINULL()
GETANSINULL() 函数语法如下:
GETANSINULL() (['database_name'])
GETANSINULL() 函数返回当前数据库默认的NULL 值.其返回值类型为INT.GETANSINULL() 函数对ANSI 空值NULL 返回1; 如果没有定义ANSI 空值,则返回0.

·HOST_ID()
HOST_ID() 函数语法如下:
HOST_ID()
HOST_ID() 函数返回服务器端计算机的名称.其返回值类型为NCHAR.
·HOST_NAME()
HOST_NAME() 函数语法如下:
HOST_NAME()
HOST_NAME() 函数返回服务器端计算机的名称.其返回值类型为CHAR (8).
·IDENTITY()
IDENTITY() 函数语法如下:
IDENTITY (<data_type>[, seed, increment]) [AS column_name])
IDENTITY() 函数只在SELECT...INTO 语句中使用,用于插入一个identity column列到新表中.其返回值类型与data_type 的类型相同.
其中:
data_type 指定数据类型.data type 是INTEGER 或DECIMAL 类的数据类型.Seed指定identity column 的初值,即第一个值.Increment 指定增加一个记录时,记录的identity column 值应在前记录的基础上增加的值.seed 和increment 的缺省值为1.column_name 是所插入的identity column 的列名.虽然AS column_name 为可选项,但由于函数在表中插入了一个新列,所以必须指定列名.如果不使用AS column_name 选项,可以使用以下两种方式来指定列名:
(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
·IDENT_INCR()
IDENT_INCR() 函数语法如下:
IDENT_INCR ('table_or_view')
IDENT_INCR() 函数返回表中标识性字段identity column 的增量.若无此字段,则返回NULL 值.其返回值类型为NUMERIC. 
·IDENT_SEED()
IDENT_SEED() 函数语法如下:
IDENT_SEED (<'table_or_view'>)
IDENT_SEED() 函数返回表中标识性字段identity column 的初值.若无此字段,则返回NULL 值.其返回值类型为NUMERIC.
·INDEX_COL()
INDEX_COL() 函数语法如下:
INDEX_COL (<'table_name'>, <index_id>, <key_id>)
INDEX_COL() 函数返回表内索引识别码为index_id 的索引的名称,并找出组成该索引的列组合中第key_id 个列名.其返回值类型为NCHAR.
·ISDATE()
ISDATE() 函数语法如下:
ISDATE (<expression>)
ISDATE() 函数判断所给定的表达式是否为合理日期,如果是则返回1, 不是则返回0.
·ISNULL()
ISNULL() 函数语法如下:
ISNULL (<check_expression>, <replacement_value>)
ISNULL() 函数将表达式中的NULL 值用指定值替换.如果check_expresssion 不是NULL, 则返回其原来的值,否则,返回replacement_value 的值.
提醒:reaplacement_value的数据类型应与chech_expresssion一致.
·ISNUMERIC()
ISNUMERIC() 函数语法如下:
ISNUMERIC (<expression>)
ISNUMERIC() 函数判断所给定的表达式是否为合理的数值(INTEGER、 FLOATING POINT NUMBER、 MONEY 或DECIMAL 类型),如果是则返回1, 不是则返回0.
提醒:检查MONEY型数据时,应先用CONVERT()函数将其转换为数值型或字符型。
·NEWID
NEWID() 函数语法如下:
NEWID()
NEWID() 函数返回一个UNIQUEIDENTIFIER 类型的数值.此函数使用计算机的网卡的Ethernet 地址加上经由CPU Clock 产生的数字而得到其返回值.由于网卡的Ethernet地址是全球惟一的(在未来近一百年内不会生产出相同Ethernet 地址的网卡),因而函数所产生的数字也是惟一的.

·NULLIF()
NULLIF() 函数语法如下:
NULLIF (<expression1>, <expression2>)
NULLIF() 函数在expression1 与expression2 相等时返回NULL 值,若不相等时则返回expression1 的值.其返回值类型与expression1 相同.expression1 与expression2 应为同类的数据类型.
·OBJECT_ID()
OBJECT_ID() 函数语法如下:
OBJECT_ID (<'object_name'>)
OBJECT_ID() 函数返回数据库对象的编号.其返回值类型为INT.
提醒:当指定一个临时表的表名时,其表名的前面必须加上临时数据库名"tempdb",如:select object_id("tempdb..#mytemptable").
·OBJECT_NAME()
OBJECT_NAME() 函数语法如下:
OBJECT_NAME (<object_id>)
OBJECT_NAME() 函数返回数据库对象的名称.其返回值类型为NCHAR.

·PARSENAME()
PARSENAME() 函数语法如下:
PARSENAME (<'object_name '>, <object_piece>)
PARSENAME() 函数返回一个数据库对象完整名称中的特定部分(对象名称或数据库拥有者名称或数据库名称或服务器名称).其返回值类型为NCHAR.
其中object_piece 为INT 类型,其取值如下:
  对象名称Object name;
  数据库拥有者名称Owner name;
  数据库名称Database name;
  服务器名称Server name.
如果object_name 或object_piece 为NULL, 则返回NULL 值.

·STATS_DATE()
STATS_DATE() 函数语法如下:
STATS_DATE (<table_id>, <index_id>)
STATS_DATE() 函数返回最新的索引统计日期.其返回值类型为DATETIME.
·SUSER_SID()
SUSER_ SID() 函数语法如下:
SUSER_SID (['login_name'])
SUSER_SID() 函数根据用户登录名返回用户的SID (Security Identification Number,安全帐户名)号.其返回值类型为INT. 如果不指定login_name, 则返回当前用户的SID号.
·SUSER_SNAME()
SUSER_SNAME() 函数语法如下:
SUSER_SNAME ([server_user_sid])
SUSER_SNAME() 函数根据SID 号返回用户的登录名.如果没有指定server_user_sid,则返回当前用户的登录名.其返回值类型为NCHAR.
·USER_ID()
USER_ID() 函数语法如下:
USER_ID (['user_name'])
USER_ID() 函数根据用户数据库的用户名返回用户的数据库ID 号.其返回值类型为INT. 如果没有指定user_name, 则返回当前用户的数据库ID 号.
·USER_NAME()
USER_NAME() 函数语法如下:
USER_NAME ([user_id])
USER_NAME() 函数根据用户的数据库ID 号返回用户的数据库用户名.其返回值类型为NCHAR. 如果没有指定user_id, 则返回当前数据库的用户名.

posted @ 2012-03-09 14:27  忙碌在路上  阅读(294)  评论(0编辑  收藏  举报