SQL Server 2008中的T-SQL函数类型(三)

日期: 2008-10-30 作者:SearchSQLServer.com翻译:April 来源:TechTarget中国 英文

系统函数   T-SQL系统函数提供了更多有关数据库对象的信息。大部分系统函数用的是内部数字标识符(ID),系统将标识付值给每个数据库对象。使用这类标识符,系统就能独立识别每个数据库对象。系统函数提供了一些有关数据库系统的信息。

以下为一些描述系统函数的表(要查看完整的系统函数清单,请参考联机丛书)。   函数 说明 CAST(a AS type [(length)]将表达式a 转换成指定的数据类型type (如果可能的话)。A可以是任一有效表达式。例:SELECT CAST(3000000000 AS BIGINT) = 3000000000COALESCE(a1,a2,…)返回给定清单上的表……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

系统函数

  T-SQL系统函数提供了更多有关数据库对象的信息。大部分系统函数用的是内部数字标识符(ID),系统将标识付值给每个数据库对象。使用这类标识符,系统就能独立识别每个数据库对象。系统函数提供了一些有关数据库系统的信息。以下为一些描述系统函数的表(要查看完整的系统函数清单,请参考联机丛书)。

  

函数

说明

CAST(a AS type [(length)]将表达式a 转换成指定的数据类型type (如果可能的话)。A可以是任一有效表达式。例:
SELECT CAST(3000000000 AS BIGINT) = 3000000000
COALESCE(a1,a2,…)返回给定清单上的表达式a1、 a2……,并且第一个表达式的返回值不是NULL值。
COL_LENGTH(obj,col)返回col列的长度,该长度值属于数据库对象(表或视图)obj 。例: 
SELECT COL_LENGTH('customers', 'cust_ID') = 10
CONVERT(type[(length)],a)和CAST相等,但是对这两个参数指定条件不同。CONVERT 能用于任意数据类型。
CURRENT_TIMESTAMP返回目前的日期和时间。例: SELECT CURRENT_TIMESTAMP = '2008-01-01 17:22:55.670'
CURRENT_USER返回目前用户的姓名。
DATALENGTH(z)计算表达式z 的结果长度(字节)例:
SELECT DATALENGTH(ProductName) FROM products. (该查询返回每个域名的长度)
GETANSINULL('dbname')如果按照ANSI SQL 标准在数据库dbname 中使用NULL 值,那么返回值为1(参考本章末对NULL 值的详细说明)。例:
SELECT GETANSINULL('AdventureWorks') = 1
ISNULL(expr, value)如果expr不为零,就返回expr 值;否则就返回value (查看例5.22)。
ISNUMERIC(expression)判断表达式是否属于无效的数字型。
NEWID()创建由16个字节组成的二进制字符串存储UNIQUEIDENTIFIER 数据类型。
NEWSEQUENTIALID()在指定的计算机上创建GUID,它比该函数之前产生的GUID 值要大。我们只可以将这个函数设置为默认值。
NULLIF(expr1,expr2)如果表达式expr1expr2相等,返回NULL 值。例:
SELECT NULLIF(project_no, 'p1') FROM projects(该查询返回带有project_no = 'p1'的项目值为NULL)。
SERVERPROPERTY(propertyname)返回数据库服务器的属性信息。
SYSTEM_USER返回目前用户的登陆ID。例:
SELECT SYSTEM_USER = LTB13942dusan
USER_ID([user_name])返回用户user_name 的标识符。如果没有指定名字,就检索当前用户的标识符。例:
SELECT USER_ID('guest') = 2
USER_NAME([id])返回带有标识符id的用户名字。如果没有指定用户名,就检索当前用户的名字。例:
SELECT USER_NAME = 'guest'

  所有字符串函数可以以任意顺序嵌入,例如:REVERSE(CURRENT_USER)。

  元数据函数

  一般来说,元数据函数返回的是有关指定数据库和数据对象的信息。下表介绍了几种元数据函数(查看完整元数据函数清单,请参考联机丛书)。

  

函数

说明

COL_NAME(tab_id, col_id)返回列名,这些列都属于带有ID tab_id以及列ID col_id的表。例:
SELECT COL_NAME(OBJECT_ID('employee') , 3) = 'emp_lname'
COLUMNPROPERTY(id, col, property)返回指定列的信息。例: 
SELECT COLUMNPROPERTY(object_id('project'), 'project_no', 'PRECISION') = 4
DATABASEPROPERTY(database, property)返回指定的数据库和属性指定数据库属性值。例:
SELECT DATABASEPROPERTY('sample', 'IsNullConcat') = 0. (IsNullConcat 属性和CONCAT_NULL_YIELDS_NULL选项一致,在本章末尾进行了介绍。)
DB_ID([db_name])返回数据库db_name 的标识符,即返回当前数据库的标识符。例:
SELECT DB_ID('AdventureWorks') = 6
DB_NAME([db_id])返回带有标识符db_id的数据库名。如果没有指定标识符,就显示当前数据库名称。例:
SELECT DB_NAME(6) = 'AdventureWorks'
INDEX_COL(table, i, no)返回表table 中的索引列,该索引列由索引标识符i及该列在索引中的位置no指定。
INDEXPROPERTY(obj_id, index_name, property)返回指定表标识号、索引或统计名称及属性名称的指定索引值或统计属性值。
OBJECT_NAME(obj_id)返回有标识符obj_id的数据库对象名称例:
SELECT OBJECT_NAME(453576654) = 'products'
OBJECT_ID(obj_name)返回数据库对象obj_name 的标识符。例:
SELECT OBJECT_ID('products') = 453576654
OBJECTPROPERTY(obj_id,property)返回当前数据库对象。

 

翻译

April
April

相关推荐