Transact-SQL系统函数

  • 2020 年 2 月 18 日
  • 笔记

正文共:2136 字 5 图 预计阅读时间:6 分钟

本文目录:

  • 1.1 系统函数
  • 1.2 安全函数
  • 1.3 元数据函数

1.1 系统函数

 1-- 返回工作站标识号,是连接到 SQL Server的客户端计算机上的应用程序的进程 ID (PID)   2SELECT HOST_ID();   3-- 返回工作站名   4SELECT HOST_NAME();   5-- 创建 uniqueidentifier 类型的唯一值   6SELECT NEWID();   7-- 确定表达式是否为有效的数值类型;ISNUMERIC ( expression )   8SELECT distinct   9    ISNUMERIC(sid),ISNUMERIC(ssex)  10from Student  11-- 使用指定的替换值替换 NULL。  12-- ISNULL ( check_expression , replacement_value )

system_function

1.1.1 CAST 和 CONVERT

CAST 和 CONVERT函数是将一种数据类型的表达式转换为另一种数据类型的表达式。

1-- CAST()语法:  2CAST ( expression AS data_type [ ( length ) ] )  3-- CONVERT()语法:  4CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
  • expression 任何有效的表达式。
  • data_type 目标数据类型。这包括 xml、bigint 和 sql_variant。不能使用别名数据类型。
  • length 指定目标数据类型长度的可选整数。默认值为 30。
  • style 指定 CONVERT 函数如何转换 expression 的整数表达式。如果样式为 NULL,则返回 NULL。该范围是由 data_type 确定的。有关详细信息,请参阅“备注”部分。

1.2 安全函数

对管理安全性有用的函数

 1-- 当前用户的名称, 两者等价   2SELECT CURRENT_USER;   3SELECT USER_NAME();   4-- 数据库指定用户的标识号, 用户名缺省则表示当前用户   5SELECT USER_ID ( [ 'user' ] );   6SELECT USER_ID();   7-- 数据库指定标识号的用户名   8SELECT USER_NAME([ id ] );   9SELECT USER_NAME();  10-- 当前数据库中当前上下文的用户名  11SELECT SESSION_USER;  12-- 用户的登录标识号 SUSER_ID ( [ 'login' ] ) login为登录名  13SELECT SUSER_ID('sa');  14SELECT SUSER_ID(USER_NAME());  15-- 根据用户登录标识号返回用户的登录标识名SUSER_NAME ( [ server_user_id ] )  16SELECT SUSER_NAME(1);  17-- 指定登录名的安全标识号 (SID)  18SELECT SUSER_SID('sa');  19-- 与安全标识号 (SID) 关联的登录名  20SELECT SUSER_SNAME(0x01);

security_functions

1-- 判断当前账户是否可以访问指定的数据库  2SELECT HAS_DBACCESS ('database_name');  3-- 判断当前用户是否为指定Microsoft Windows组或SQL Server数据库角色的成员  4SELECT IS_MEMBER ( { 'group' | 'role' } )

1.3 元数据函数

返回有关数据库和数据库对象的信息

 1-- 与架构 ID 关联的架构名称 SCHEMA_NAME ([ schema_id ])   2SELECT SCHEMA_NAME();   3-- 与架构名称关联的架构ID SCHEMA_ID ([ schema_name ])   4SELECT SCHEMA_ID();   5-- 数据库标识 (ID)号, DB_ID ( [ 'database_name' ] )   6SELECT DB_ID();   7-- 数据库名称 DB_NAME ( [ database_id ] )   8SELECT DB_NAME();   9-- 指定表中指定列的定义长度(以字节为单位)  10COL_LENGTH ( 'table' , 'column' ) 

meta_functions

本文项目地址:

https://github.com/firewang/sql50

(喜欢的话,Star一下)

阅读原文,或者访问该链接可以在线观看

https://sql50.readthedocs.io/zh_CN/latest/

参考网址:

  • https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/ms175995(v=sql.105)