SQL Server 函数参考手册(SQL Server 高级函数)

目录

SQL Server CAST() 函数

SQL Server COALESCE() 函数

SQL Server CONVERT() 函数

SQL Server CURRENT_USER 函数

SQL Server  IIF() 函数

SQL Server ISNULL() 函数

SQL Server ISNUMERIC() 函数

SQL Server NULLIF() 函数

SQL Server SESSION_USER 函数

SQL Server SESSIONPROPERTY() 函数

SQL Server SYSTEM_USER 函数

SQL Server USER_NAME() 函数


SQL Server CAST() 函数

【实例】

将值转换为 int 数据类型:

SELECT CAST(25.65 AS int);

【定义和用法】

CAST() 函数将(任何类型的)值转换为指定的数据类型。

注:同时查看 CONVERT() 函数。

【语法】

CAST(expression AS datatype(length))

【参数值】

参数 描述
expression 必需。要转换的值
datatype 必需。要将 expression 转换为的数据类型。 可以是以下之一: bigint, int, smallint, tinyint, bit, decimal, numeric, money, smallmoney, float, real, datetime, smalldatetime, char, varchar, text, nchar, nvarchar, ntext, binary, varbinary, 或 image
(length) 可选。结果数据类型的长度(对于 char、varchar、nchar、nvarchar、binary 和 varbinary)

【技术细节】

适用于: SQL Server (starting with 2008), Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse

【实例】

将值转换为 varchar 数据类型:

SELECT CAST(25.65 AS varchar);

【实例】

将值转换为DateTime数据类型:

SELECT CAST('2017-08-25' AS datetime);

SQL Server COALESCE() 函数

【实例】

返回列表中的第一个非空值:

SELECT COALESCE(NULL, NULL, NULL, 'W3Schools.cn', NULL, 'Example.com');

【定义和用法】

COALESCE() 函数返回列表中的第一个非空值。

【语法】

COALESCE(val1, val2, ...., val_n)

【参数值】

参数 描述
val1, val2, val_n 必需。要测试的值

【技术细节】

适用于: SQL Server (starting with 2008), Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse

【实例】

返回列表中的第一个非空值:

SELECT COALESCE(NULL, 1, 2, 'W3Schools.cn');

SQL Server CONVERT() 函数

【实例】

将表达式转换为 int:

SELECT CONVERT(int, 25.65);

【定义和用法】

convert()函数将值(任何类型)转换为指定的数据类型。

注: 查看 cast()功能。

【语法】

CONVERT(data_type(length), expression, style)

【参数值】

参数 描述
data_type 必需。 要将 expression 转换为的数据类型。 可以是以下之一: bigint, int, smallint, tinyint, bit, decimal, numeric, money,smallmoney, float, real, datetime, smalldatetime, char, varchar, text, nchar, nvarchar, ntext, binary, varbinary, 或 image
(length) 可选。结果数据类型的长度(对于 char、varchar、nchar、nvarchar、binary 和 varbinary)
expression 必需。转换为另一种数据类型的值
style 可选。用于在数据类型之间进行转换的格式,例如日期或字符串格式。 可以是以下值之一:

将日期时间转换为字符:
Without century With century Input/Output Standard
0 100 mon dd yyyy hh:miAM/PM Default
1 101 mm/dd/yyyy US
2 102  yyyy.mm.dd ANSI
3 103  dd/mm/yyyy British/French
4 104 dd.mm.yyyy German
5 105  dd-mm-yyyy Italian
6 106 dd mon yyyy -
7 107 Mon dd, yyyy -
8 108 hh:mm:ss -
9 109 mon dd yyyy hh:mi:ss:mmmAM (or PM) Default + millisec
10 110 mm-dd-yyyy USA
11 111  yyyy/mm/dd Japan
12 112  yyyymmdd ISO
13 113 dd mon yyyy hh:mi:ss:mmm Europe (24 hour clock)>
14 114 hh:mi:ss:mmm 24 hour clock
20 120 yyyy-mm-dd hh:mi:ss ODBC canonical (24 hour clock)
21 121 yyyy-mm-dd hh:mi:ss.mmm ODBC canonical (24 hour clock)
126 yyyy-mm-ddThh:mi:ss.mmm ISO8601
127 yyyy-mm-ddThh:mi:ss.mmmZ ISO8601 (with time zone Z)
130 dd mon yyyy hh:mi:ss:mmmAM Hijiri
131 dd/mm/yy hh:mi:ss:mmmAM Hijiri
将浮点数转换为实数:
解释
0 最多6位(默认)
1 8位
2 16位
Converting money to character:
解释
0 无逗号分隔符,小数点右侧 2 位
1 逗号分隔符,小数点右侧 2 位
2 无逗号分隔符,小数点右侧 4 位

【技术细节】

适用于: SQL Server (starting with 2008), Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse

【实例】

将表达式从一种数据类型转换为另一种数据类型(varchar):

SELECT CONVERT(varchar, 25.65);

【实例】

将表达式从一种数据类型转换为另一种 (datetime):

SELECT CONVERT(datetime, '2017-08-25');

【实例】

将表达式从一种数据类型转换为另一种 (varchar):

SELECT CONVERT(varchar, '2017-08-25', 101);

SQL Server CURRENT_USER 函数

【实例】

返回 SQL Server 数据库中当前用户的名称:

SELECT CURRENT_USER;

【定义和用法】

CURRENT_USER 函数返回 SQL Server 数据库中当前用户的名称。

【语法】

CURRENT_USER

【技术细节】

适用于: SQL Server (starting with 2008), Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse

SQL Server  IIF() 函数

【实例】

如果条件为 TRUE,则返回 quot;YES",如果条件为 FALSE,则返回 "NO":

SELECT IIF(500<1000, 'YES', 'NO');

【定义和用法】

如果条件为 TRUE,IIF() 函数返回一个值,如果条件为 FALSE,则返回另一个值。

【语法】

IIF(condition, value_if_true, value_if_false)

【参数值】

参数 描述
condition 必需。 要测试的值
value_if_true 可选。condition为 TRUE 时返回的值
value_if_false 可选。condition为 FALSE 时返回的值

【技术细节】

适用于: SQL Server (starting with 2012), Azure SQL Database

【实例】

如果条件为 TRUE,则返回 5,如果条件为 FALSE,则返回 10:

SELECT IIF(500<1000, 5, 10);

【实例】

测试两个字符串是否相同,返回"YES" 如果是,如果不是,则为 "YES":

SELECT IIF(STRCMP("hello","bye") = 0, 'YES', 'NO');

【实例】

如果条件为 TRUE,则返回 "MORE",如果条件为 FALSE,则返回 "LESS":

SELECT OrderID, Quantity, IIF(Quantity>10, 'MORE', 'LESS')
FROM OrderDetails;

SQL Server ISNULL() 函数

【实例】

如果表达式为NULL,则返回指定值,否则返回表达式:

SELECT ISNULL(NULL, 'W3Schools.cn');

【定义和用法】

如果表达式为 NULL,则 ISNULL() 函数返回指定值。

如果表达式不为空,则此函数返回表达式。

【语法】

ISNULL(expression, value)

【参数值】

参数 描述
expression 必需。判断是否为NULL的表达式
value 必需。表达式为NULL时返回的值

【技术细节】

适用于: SQL Server (starting with 2008), Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse

【实例】

如果表达式为NULL,则返回指定值,否则返回表达式:

SELECT ISNULL('Hello', 'W3Schools.cn');

【实例】

如果表达式为NULL,则返回指定值,否则返回表达式:

SELECT ISNULL(NULL, 500);

SQL Server ISNUMERIC() 函数

【实例】

测试表达式是否为数字:

SELECT ISNUMERIC(4567);

【定义和用法】

ISNUMERIC() 函数测试表达式是否为数字。

如果表达式是数字,此函数返回 1,否则返回 0。

【语法】

ISNUMERIC(expression)

【参数值】

参数 描述
expression 必需。 要测试的值

【技术细节】

适用于: SQL Server (starting with 2008), Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse

【实例】

测试表达式是否为数字:

SELECT ISNUMERIC('4567');

【实例】

测试表达式是否为数字:

SELECT ISNUMERIC('Hello world!');

【实例】

测试表达式是否为数字:

SELECT ISNUMERIC(20*3);

【实例】

测试表达式是否为数字:

SELECT ISNUMERIC('2017-08-25');

SQL Server NULLIF() 函数

【实例】

比较两个表达式:

SELECT NULLIF(25, 25);

【定义和用法】

如果两个表达式相等,NULLIF() 函数返回 NULL,否则返回第一个表达式。

【语法】

NULLIF(expr1, expr2)

【参数值】

参数 描述
expr1, expr2 必需。要比较的两个表达式

【技术细节】

适用于: SQL Server (starting with 2008), Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse

【实例】

比较两个表达式:

SELECT NULLIF('Hello', 'Hello');

【实例】

比较两个表达式:

SELECT NULLIF('Hello', 'world');

【实例】

比较两个表达式:

SELECT NULLIF('2017-08-25', '2017-08-25');

SQL Server SESSION_USER 函数

【实例】

返回当前用户的用户名:

SELECT SESSION_USER;

【定义和用法】

SESSION_USER 函数返回 SQL Server 数据库中当前用户的名称。

【语法】

SESSION_USER

【技术细节】

适用于: SQL Server (starting with 2008), Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse

SQL Server SESSIONPROPERTY() 函数

【实例】

返回指定选项的会话设置:

SELECT SESSIONPROPERTY('ANSI_NULLS');

【定义和用法】

SESSIONPROPERTY() 函数返回指定选项的会话设置。

【语法】

SESSIONPROPERTY(option)

【参数值】

参数 描述
option 必需。检索会话设置的选项。 可以是以下值之一:
  • ANSI_NULLS
  • ANSI_PADDING
  • ANSI_WARNINGS
  • ARITHABORT
  • CONCAT_NULL_YIELDS_NULL
  • NUMERIC_ROUNDABOUT
  • QUOTED_IDENTIFIER

【技术细节】

适用于: SQL Server (starting with 2008), Azure SQL Database

SQL Server SYSTEM_USER 函数

【实例】

返回当前用户的登录名信息:

SELECT SYSTEM_USER;

【定义和用法】

SYSTEM_USER 函数返回当前用户的登录名。

【语法】

SYSTEM_USER

【技术细节】

适用于: SQL Server (starting with 2008), Azure SQL Data Warehouse, Parallel Data Warehouse

SQL Server USER_NAME() 函数

【实例】

返回数据库用户名(由于没有指定id,将返回当前用户):

SELECT USER_NAME();

【定义和用法】

USER_NAME()函数根据指定的id返回数据库用户名。

如果没有指定id,这个函数会返回当前用户的名字。

【语法】

USER_NAME(id_number)

【参数值】

参数 描述
id_number 可选。数据库中用户的id号

【技术细节】

适用于: SQL Server (starting with 2008), Azure SQL Database, Azure SQL Data Warehouse, Parallel Data Warehouse

【实例】

返回id为1的数据库用户名:

SELECT USER_NAME(1);

你可能感兴趣的:(SQL系列教程,SQL,教程,资料,笔记)