sql自带许多用起来很方便的函数,大致分为以下几类:
函数类型 | 作用 |
---|---|
算术函数 | 用来进行数值计算 |
字符串函数 | 用来进行字符串的操作 |
日期函数 | 用来进行日期操作的函数 |
转换函数 | 用来转换数据类型和值的函数 |
聚合函数 | 用来进行数据聚合的函数 |
ABS()可以求一个数的绝对值
MOD(除数,被除数)可以用于求余
!!!! SQL Server不支持该函数。
ROUND(数值,保留位数)可以用来进行四舍五入
用于进行字符串拼接
SELECT s.sage,s.sdept,s.sname,REPLACE(sage, sage, sname) AS REPLACE
FROM s
SELECT LOWER(s.sdept) DEPT,S.sdept
FROM s
SELECT CURRENT_DATE;
SELECT CURRENT_TIMESTAMP;
SELECT CAST('8888' AS INT) AS INT_COL;
谓词主要有以下几个:
例:查询SC表中9开头的成绩信息
SELECT sc.cno,sc.grade
FROM sc
WHERE grade LIKE '9%';
%是表示“任意字符串”的通配符。
_是表示“任意1个字符”的通配符
SELECT sc.cno,sc.grade
FROM sc
WHERE grade BETWEEN 88 AND 89;
用于判断是否为NULL
SELECT sname, s.sage
FROM s
WHERE s.sage IS NOT NULL;
SELECT product_name, sale_price
FROM product
WHERE product_id IN
SELECT product_id
FROM shopproduct
WHERE shop_id = '000C');
它的作用就是 “判断是否存在满足某种条件的记录”。
语法:
CASE WHEN <求值表达式> THEN <表达式>
WHEN <求值表达式> THEN <表达式>
WHEN <求值表达式> THEN <表达式>
.
.
.
ELSE <表达式>
END
SELECT sname,
CASE WHEN sdept = 'CS' THEN LOWER(sdept)
ELSE NULL
END AS AAA
FROM s;