系统函数 T-SQL系统函数提供了更多有关数据库对象的信息。大部分系统函数用的是内部数字标识符(ID),系统将标识付值给每个数据库对象。使用这类标识符,系统就能独立识别每个数据库对象。系统函数提供了一些有关数据库系统的信息。
以下为一些描述系统函数的表(要查看完整的系统函数清单,请参考联机丛书)。 函数 说明 CAST(a AS type [(length)]将表达式a 转换成指定的数据类型type (如果可能的话)。A可以是任一有效表达式。例:SELECT CAST(3000000000 AS BIGINT) = 3000000000COALESCE(a1,a2,…)返回给定清单上的表……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属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) | 如果表达式expr1和expr2相等,返回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) | 返回当前数据库对象。 |
翻译
相关推荐
-
如何解决和避免SQL Server数据库死锁
学习如何避免SQL Server数据库死锁的第一步是做好准备工作。根据SQL Server专家的说法,了解死锁 […]
-
如何使用SQL Server数据库脚本创建数据库?
你可以手工创建SQL Server数据库,但懂得如何设置数据库脚本是十分必要的。本文是执行数据库创建脚本所涉及的步骤。
-
如何为你的数据库事务日志减肥?
在大多数SQL Server的工作环境中,尤其是在OLTP环境中,数据库的事务日志性能出现瓶颈时往往会导致事务完成需要更多的时间。
-
SQL Server 2008将退出微软主流数据库支持
你的企业是否还在运行SQL Server 2008?请注意微软为SQL Server 2008提供的主流技术支持服务将于今年的7月8日正式结束。