注释 

标量函数的概述


建立表达式时,可以调用多种标量函数,包括:

  • 字符串(字符)函数
  • 日期函数
  • 数学函数
  • 系统函数
  • 其他函数,例如将数据从一种类型转换为另一种类型的函数

“查询设计器”通过以下方式可以帮助您使用函数:

  • 在函数参数中正确插入引号
  • 验证参数的数据类型
  • 验证返回值的数据类型

下面的信息是常用标量函数的列表。有关 SQL Server 标量函数的完整列表,请参阅 Microsoft SQL Server 文档中的“处理 SQL 参考函数”帮助主题

 注释 


字符串函数


函数

说明

示例

LCASE( ), 

LOWER( )

将字符串转换为小写

SELECT UPPER(substring(lname, 1, 1)) + 
 LOWER(substring (lname, 2, 99))
FROM employee

显示已将首字符转换为大写而其余字符转换为小写之后的姓氏。

LTRIM( )

从字符串中删除前导空格

SELECT stor_name, LTRIM(stor_address)
FROM stores

显示从前面删除多余空格后的地址列。

SUBSTRING( )

从字符串中提取一个或多个字符

SELECT SUBSTRING(phone,1,3)
FROM employee

显示电话号码的前三个字符(区号)。

UCASE( )、

UPPER( )

将字符串转换为大写

SELECT * FROM employee
WHERE UPPER(lname) = 'SMITH'

lname


日期函数


函数

说明

示例

DATEDIFF( )

计算两个日期间的间隔。

SELECT fname, lname, hire_date
FROM employee
WHERE DATEDIFF(year, hire_date, getdate()) > 5

查找被雇佣五年以上的所有雇员。

DATEPART( )

返回日期时间列的指定部分,包括日、月、年。

SELECT DATEPART(year, hire_date)
FROM employee

只显示雇员被雇佣的年份(不是完整的日期)。

CURDATE( )、

GETDATE( )或 DATE( )

返回日期时间格式的当前日期。当对许多其他日期函数进行输入时,该函数很有用,例如计算从今天起向前或向后的间隔。

SELECT order_id
FROM orders
WHERE order_date = GETDATE()
Displays orders placed today.


数学函数


 注释 



函数

说明

示例

ROUND( )

根据指定的小数的位数对数字进行四舍五入

SELECT ROUND(qty * (price * discount), 2)
FROM sales

显示基于某一折扣的总价,然后将结果四舍五入为两位小数。

FLOOR( )

将数字向下取最近(最小)的整数。

UPDATE titles
SET price = FLOOR(price)

titles

CEILING( )

将数字向上取最近的整数。

INSERT INTO archivetitle
SELECT title, CEILING(price)
FROM titles

title 和 price (向上取最近的整数)值从 titles 表复制到 archivetitle


系统函数


函数

说明

示例

DATALENGTH( )

返回指定表达式使用的字节数。

SELECT DATALENGTH(au_lname + ', ' 
 + au_fname)
FROM authors

列出姓氏和名字组合所需的字节数。

USER( )、

USER_NAME( )

返回当前用户名。

安全性

SELECT company_name, city, phone
FROM customers
WHERE salesperson = USER_NAME()

为运行查询的销售人员创建客户列表。


其他函数


函数

说明

示例

CONVERT( )

从一种数据类型转换为另一种数据类型。对数据设置格式或用数据列的内容作为需要不同的数据类型的函数的参数时,该函数很有用。

SELECT 'Hired: ' + CONVERT(char (11), hire_date)
FROM employee

显示日期及其前面的标题;CONVERT( ) 函数创建一个字符串值而不是日期值,这样该字符串才可以和原义字符串相连。

SOUNDEX( )

返回特定表达式的 SOUNDEX 代码,使用这样的表达式可以创建“读音相似”的搜索。

SELECT au_lname, au_fname
FROM authors
WHERE SOUNDEX(au_fname) = 'M240'

搜索与“Michael”读音相似的名称。

STR( )

将数值数据转换为字符串以便能与文本运算符一同处理。

SELECT str(job_id) + ' ' + 
 str(job_lvl)
FROM employee

job_id 和 job_lvl