欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > SQL笔记#函数、谓词、CASE表达式

SQL笔记#函数、谓词、CASE表达式

2025/2/26 4:53:12 来源:https://blog.csdn.net/2302_80363296/article/details/145814799  浏览:    关键词:SQL笔记#函数、谓词、CASE表达式

目录

一、各种各样的函数

1、函数的种类

2、算术函数

  ABS——绝对值

  MOD——取余

  ROUND——四舍五入

3、字符串函数

   ||——拼接

  LENGTH——字符串长度

 LOWER——小写转换

 REPLACE——字符串的替换

  SUBSTR——字符串的截取

   UPPER——大写转换

4、日期函数

 CURRENT_DATE——当前日期

 CURRENT_TIME——当前时间

 CURRENT_TIMESTAMP——当前日期和时间

 EXTRACT——截取日期元素

5、转换函数

 CAST——类型转换

二、谓词

1、什么是谓词

2、LIKE谓词——字符串的部分一致查询

3、BETWEEN谓词——范围查询

4、IS NULL、IS NOT NULL——判断是否为NULL

5、IN谓词——OR的简便用法

6、使用子查询作为IN谓词的参数

7、EXIST谓词

三、CASE表达式

1、什么是CASE表达式

2、CASE表达式的语法

3、CASE表达式的使用方法

一、各种各样的函数

1、函数的种类

        函数,就是输入某一值(参数),得到相应输出结果(输出值)的功能。函数大致可分为以下几种类型:

        1、算数函数(用来作为数值计算的函数)

        2、字符串函数(用来进行字符串操作的函数)

        3、日期函数(用来进行日期操作的函数)

        4、转换函数(用来转化数据类型和值的函数)

        5、聚合函数(用来进行数据聚合的函数)

2、算术函数

        NUMEIC是大多数DBMS都支持的一种数据类型,通过NUMERIC(全体位数,全体小数)的形式来指定数值的大小。

--DDL:创建表
CREATE TABLE SampleMath
(m  NUMERIC (10,3),n  INTEGER,p  INTEGER);--DML:插入数据
BEGIN TRANSACTION;INSERT INTO SampleMath(m, n, p) VALUES (500,  0,    NULL);
INSERT INTO SampleMath(m, n, p) VALUES (-180, 0,    NULL);
INSERT INTO SampleMath(m, n, p) VALUES (NULL, NULL, NULL);
INSERT INTO SampleMath(m, n, p) VALUES (NULL, 7,    3);
INSERT INTO SampleMath(m, n, p) VALUES (NULL, 5,    2);
INSERT INTO SampleMath(m, n, p) VALUES (NULL, 4,    NULL);
INSERT INTO SampleMath(m, n, p) VALUES (8,    NULL, 3);
INSERT INTO SampleMath(m, n, p) VALUES (2.27, 1,    NULL);
INSERT INTO SampleMath(m, n, p) VALUES (5.555,2,    NULL);
INSERT INTO SampleMath(m, n, p) VALUES (NULL, 1,    NULL);
INSERT INTO SampleMath(m, n, p) VALUES (8.76, NULL, NULL);COMMIT;-- 确认创建好的表
SELECT * FROM SampleMath;
    m     | n | p
----------+---+---500.000 | 0 |-180.000 | 0 ||   || 7 | 3| 5 | 2| 4 |8.000 |   | 32.270 | 1 |5.555 | 2 || 1 |8.760 |   |
 \blacksquare ABS——绝对值
postgres=# SELECT m,
postgres-#        ABS(m) AS abs_col
postgres-#   FROM SampleMath;m     | abs_col
----------+---------500.000 | 500.000-180.000 | 180.000||||8.000 |   8.0002.270 |   2.2705.555 |   5.555|8.760 |   8.760
 \blacksquare MOD——取余

MOD(被除数,除数)

postgres=# select n,p,
postgres-#        MOD(n,p) AS mod_col
postgres-#   FROM SampleMath;n | p | mod_col
---+---+---------0 |   |0 |   ||   |7 | 3 |       15 | 2 |       14 |   || 3 |1 |   |2 |   |1 |   ||   |
 \blacksquare ROUND——四舍五入

ROUND(对象数值,保留小数的数值) 

SELECT m, n,ROUND(m, n) AS round_colFROM SampleMath;

3、字符串函数

--创建SampleStr表(不做具体代码说明)

   str1    | str2 | str3
-----------+------+------opx       | rt   |abc       | def  |山田      | 太郎 | 是我aaa       |      || xyz  |@!#$%     |      |ABC       |      |aBC       |      |abc太郎   | abc  | ABCabcdefabc | abc  | ABCmicmic    | i    | I
  \blacksquare ||——拼接

字符串1||字符串2

SELECT str1, str2,str1 || str2 AS str_concatFROM SampleStr;
   str1    | str2 |  str_concat
-----------+------+--------------opx       | rt   | opxrtabc       | def  | abcdef山田      | 太郎 | 山田太郎aaa       |      || xyz  |@!#$%     |      |ABC       |      |aBC       |      |abc太郎   | abc  | abc太郎abcabcdefabc | abc  | abcdefabcabcmicmic    | i    | micmici
postgres=# SELECT str1, str2, str3,
postgres-#        str1 || str2 || str3 AS str_concat
postgres-#   FROM SampleStr
postgres-#  WHERE str1 = '山田';str1 | str2 | str3 |  str_concat
------+------+------+--------------山田 | 太郎 | 是我 | 山田太郎是我
 \blacksquare LENGTH——字符串长度

LENGTH(字符串)

postgres=# SELECT str1,
postgres-#        LENGTH(str

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词