Oracle经典sql语句总结@sql-plus重点函数串讲与sql语句案例@中文排序详讲).doc

1.经典的select sql语句

//注意:包含空值的数学表达式求出的结果为空值

SQL> select sal+comm from emp;

//连接员工编号与员工姓名这两个字段

SQL> select empno||ename  as "员工编号和员工姓名" from emp;

//查询去掉重复行的员工部门编号

SQL> select distinct(deptno) from emp;

//查询薪水不等于3000的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal<>3000;

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal !=3000;

//查询薪水大于等于1600并且小于等于3000的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal between 1600 and 3000;

等效于

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where sal>=1600 and sal<=3000;

//查询部门号位10,20的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno in(10,20);

相当于:

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where deptno =10 or deptno=20;

//查询员工名称以S开头的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like 'S%';

//查询员工名称以S结尾的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%S';

//查询员工名称第三个字符为N的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '__N%';

//查询员工名称中含有N的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%N%';

//查询员工名称中倒数第二个字符为%的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%\%_'escape'\';

//查询员工名称总含有%的员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp where ename like '%\%%'escape'\';

   关系数据库-à层次关系---》网状的关系-à关系数据库-à对象关系。

备注:可以与条件语句结合使用但order by子句放在最后

//查询员工信息并按照员工的部门编号升序并且编号进行降序排列

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp  order by deptno asc,empno desc;

备注:理解思路:首先查询员工信息按照部门的编号进行升序,然后每个部门中的员工按照员工的编号进行降序排列

2. 字符串函数

字符串函数是oracle使用最广泛的一种函数.

LOWER:小写

UPPER:大写

INITCAP:首字母大写

CONCAT:连接

SUBSTR:截取  (参数,开始,数目)

LENGTH:返回字符串的长度

INSTR:(参数,字母) 返回字母出现的位置

LPAD:(参数,长度,在前补齐参数字母)

RPAD:(参数,长度,在后补齐参数字母)

TRIM :截取前后空格

REPLACE:(参数,参数[,参数]):第一个参数操作数,第二是要查找的字符,第三个是替换的字符,如果没有第三个就删除查找的字符。

//查询名称为scott的员工信息(不区分大小写)

//查询员工名称中含有O字符的位置

3.经典字符串函数sql语句

//查询员工名称中含有O字符的位置并且求出了员工名称字符长度

SQL> select empno,instr(ename,'O'),length(ename),job,mgr,hiredate,sal,comm,deptno from emp;

//在查询上面结果中过滤出员工工作从第三字母开始为ERK员工

SQL> select empno,instr(ename,'O'),length(ename),job,mgr,hiredate,sal,comm,deptno from emp where substr(job,3)='ERK';

//当含有两个参数的时候,从开始位置直接到参数结束的结束为止;在效果同上的同时指明了截取个数为3

 SQL> select empno,instr(ename,'O'),length(ename),job,mgr,hiredate,sal,comm,deptno from emp where substr(job,3,3)='ERK';

//查询员工信息  薪资是10位位数不够在左部分补*填充

SQL> select empno,ename,job,mgr,hiredate,LPAD(sal,10,'*'),comm,deptno from emp;

//查询员工信息  薪资是10位位数不够在右部分补*填充

SQL> select empno,ename,job,mgr,hiredate,RPAD(sal,10,'*'),comm,deptno from emp;

//查询员工信息  把员工名称中含有S字符去除掉

SQL> select empno,TRIM('S' from ename),job,mgr,hiredate,comm,deptno from emp;

等效于:

SQL> select empno,TRIM( both 'S' from ename),job,mgr,hiredate,comm,deptno from emp;

//查询员工信息  把员工名称中前面有S字符去除掉

SQL> select empno,TRIM( Leading 'S' from ename),job,mgr,hiredate,comm,deptno from emp;

//等效于

SQL> select empno,LTRIM( ename,'S'),job,mgr,hiredate,comm,deptno from emp;

//查询员工信息  把员工名称中后面有S字符去除掉

SQL> select empno,TRIM( trailing 'S' from ename),job,mgr,hiredate,comm,deptno from emp;

等效于:

SQL> select empno,RTRIM( ename,'S'),job,mgr,hiredate,comm,deptno from emp;

1、字符串连接  || 或  concat(‘’,’’)

SQL> select 'a' || 'b' from dual;    //oracle 特有的符号操作

'A'||'B'

--------

ab

SQL> select concat('a','b') from dual;

CONCAT('A','B')

---------------

ab

SQL> select concat(concat('a','b'),'c') from dual;

CONCAT(CONCAT('A','B'),'C')

---------------------------

Abc

子串函数 substr(‘’,开始位置,字符长度)  instr(‘’,’出现的字符’)

SQL> select substr('abcdef',1) from dual;

SUBSTR('ABCDEF',1)

------------------

abcdef

备注:开始位置从1开始,如果有两个参数(substr(‘’,2))那么代表的意思是从位置2开始到字符串的结尾的字符串

 SQL> select substr('abcdef',1,3) from dual;

 SUBSTR('ABCDEF',1,3)

--------------------

abc

随机字符串的函数

dbms_random.string('a',6) //第一个参数有如下几个具体含义也有解释,第二参数代表产生的字符串的长度。

u 大写字母

l小写字母

a大小写字母

x大写字母和数字

p任意字符

//随机产生一个长度为5并且字符大写的字符串  注意观察下面的结果

DBMS_RANDOM.STRING('U',5)

-----------------------------------------------------------

RAVTG

DBMS_RANDOM.STRING('U',5)

-----------------------------------------------------------

NOAJN

备注重点理解u,l,a,x,p的含义。

SQL> select dbms_random.string('l',5) from dual; //随机产生一个长度为5并且字符小写的字符串

DBMS_RANDOM.STRING('L',5)

-----------------------------------------------------------

tawgc

SQL> select dbms_random.string('a',5) from dual; //随机产生一个长度为5并且字符大小写混合的字符串

DBMS_RANDOM.STRING('A',5)

-----------------------------------------------------------TEczi

SQL> select dbms_random.string('x',5) from dual; //随机产生一个长度为5并且字符与数字组合的字符串

 

DBMS_RANDOM.STRING('X',5)

-----------------------------------------------------------4TDUU

 

SQL> select dbms_random.string('x',5) from dual;

DBMS_RANDOM.STRING('X',5)

-----------------------------------------------------------RONOZ

select dbms_random.string('p',5) from dual; //随机产生一个长度为5任意的字符串

DBMS_RANDOM.STRING('P',5)

-----------------------------------------------------------5=3)*

 

SQL> select dbms_random.string('p',5) from dual;

 

DBMS_RANDOM.STRING('P',5)

-----------------------------------------------------------

zf,@z

 

4.数字函数:

ROUND: 四舍五入

TRUNC:  截断

MOD: 求余

ABS:绝对值

CEIL:返回大于或等于value的最小整数

FLOOR:返回小于或等于value的最大整数

SQRT :返回value的平方根 负数无意义。

//四舍五入 结果为46

5.经典数字函数sql语句

四舍五入(更详细参考本人oracle博客oracle心得2)

//结果为1800.11

SQL> select round(1800.11111,2) from dual;

//结果为1800

SQL> select round (1800.11111,-2) from dual;

//结果为1900

SQL> select round (1899.11111,-2) from dual;

//结果为1800.67

SQL> select round (1800.6666,2) from dual;

//绝对值结果为45.56

SQL> select abs(-45.56) from dual;

//大于等于最小整数结果为46

SQL> select ceil(45.56) from dual;

//大于等于最小整数结果为-45

SQL> select ceil(-45.56) from dual;

//小于等于最大整数结果为-46

SQL> select floor(-45.56) from dual;

//求余数结果为300

SQL> select mod(1800,500) from dual

//截取的数的操作数是正数的情况下:只操作小数位结果为1800.11

SQL> select trunc(1800.11111,2) from dual;

//截取的数的操作数是负数的情况下:操作的是小数点之前的位,把操作位小数点之前的位数全部改写成0. 结果就是1000

SQL> select trunc(1899.11111,-3) from dual;

6.日期时间函数

Oracle 中的日期型数据实际含有两个值: 日期和时间默认的日期格式是 DD-MON-RR.日期时间函数用来返回当前系统的日期和时间、以及对日期和时间类型的数据进行处理运算。

常用函数有:

add_months(date,count);在指定的日期上增加count个月

last_day(date);返回日期date所在月的最后一天

months_between(date1,dates);返回date1到date2之间间隔多少个月

new_time(date,‘this’,’other’);将时间date从this时区转换成other时区

next_day(day,’day’);返回指定日期或最后一的第一个星期几的日期,这里day为星期几

sysdate();获取系统的当前日期

current_timestamp();获取当前的时间和日期值

round:日期的四舍五入

trunc 日期的截取

日期的数学运算:

在日期上加上或减去一个数字结果仍为日期

两个日期相减返回日期之间相差的天数。

可以用数字除24来向日期中加上或减去小时。

//获取系统的当前时间 显示的格式采用默认格式 显示结果:07-4月 -11 11.15.38.390000 上午 +08:00

7.经典日期sql语句

//为当前日期加上3个月 显示的结果:2011-7-7 11:18:36

select add_months(sysdate,3) from dual;

//返回当前月的最后一天显示的结果:2011-4-30 11:19:4

select last_day(sysdate) from dual;

//返回两个日期之间的间隔月是几:结果为:4(sysdate,4)这里数字是多少结果就是多少

SQL> select months_between(add_months(sysdate,4),sysdate) from dual;

//从GMT时区转换成AST时区的日期结果

 SQL> select new_time(sysdate,'GMT','AST') from dual;

//返回下一个星期一的日期值   必须写成星期’几’

 SQL> select next_day(sysdate,'星期一') from dual;

8.转换函数

  隐式转换:在运算过程中由系统自动完成的

  显式转换:在运算过程中需要调用相应的转换函数实现。

显式转换:

to_char(date,’format’):按照指定的格式format把数字或日期类型的数据转换成字符串

9.经典转换函数sql语句

//把当前日期转换成YYYY/MM/DD的格式

SQL> select to_char(current_timestamp,'YYYY/MM/DD') from dual;

//把当前日期转换成YYYY/MM/DD HH24/MI/SS AM的格式

SQL> select to_char(current_timestamp,'YYYY/MM/DD HH24/MI/SS AM') from dual;

//DD “of” MONTH

SQL> select to_char(current_timestamp,'YYYY DD "of" MONTH  HH/MI/SS AM') from dual;

//把当数字按照$99,999这种方式返回字符串  并且操作数的位数不能够大于5(即$后边的位数)位,否则话结果会是########

SQL> select to_char(11111,'$99,999') from dual;

to_number(char);把包含了数字格式的字符串转换成数字数据

to_date(string,’format’);按照指定格式的format把字符串转换成日期数据,如果省略了foramt格式,那么就采用默认的日期格式(DD-MON-YY);

//求出两个日期之间相差的天数

SQL> select to_date('2011-07-15','YYYY-MM-DD')-to_date('2011-02-08','YYYY-MM-DD') from dual;

//求出两个日期之间相差的周次

SQL> select (to_date('2011-07-15','YYYY-MM-DD')-to_date('2011-02-08','YYYY-MM-DD'))/7 as "date" from dual;

//对周次进行向上取整

SQL> select ceil((to_date('2011-07-15','YYYY-MM-DD')-to_date('2011-02-08','YYYY-MM-DD'))/7) from dual;

 

chartorowid(char);把字符串转换成rowid类型

rowidtochar(x);把rowid类型转换成字符类型数据

10.通用函数

 这些函数适用于任何数据类型,同时也适用于空值:

NVL (expr1, expr2) :  将expr1的空值替换为expr2

NVL2 (expr1, expr2, expr3) :

判断expr1是否为空,如果为空返回expr3,如果不为空返回expr2;相当于:expr1!=null?exrp2:expr3;

NULLIF (expr1, expr2)  :

expr1与expr2相等返回NULL,不等返回expr1

COALESCE (expr1, expr2, ..., exprn) :

COALESCE 与 NVL 相比的优点在于 COALESCE 可以同时处理交替的多个值。 如果第一个表达式为空,则返回下一个表达式,对其他的参数进行COALESCE 。

11.经典通用函数sql语句

//日期为空替换成给定的日期

SQL>select empno,ename,job,mgr,nvl(hiredate,to_date('2011-1-10','YYYY-MM-DD')),sal,nvl(comm,0),deptno from  emp;

//计算出员工在该月的工资=(薪资+奖金);使用nvl函数

SQL> select empno,ename,job,mgr,hiredate,(nvl(sal,0)+nvl(comm,0)) as "工资",deptno from  emp;

//计算员工的工资;使用nvl2函数

SQL> select empno,ename,job,mgr,hiredate,nvl2(comm,sal+comm,sal) as "工资",deptno from  emp;

//注意观察理解;ename的长度跟job的长度是否相等

SQL> select ename as "expr1",job as "expr2",nullif(length(ename),length(job)) from  emp;

//comm与sal交叉执行

SQL> select empno,ename,job,mgr,hiredate,coalesce(comm,sal,10000) as "salll", deptno from  emp;

重点理解:单行函数可以嵌套。嵌套函数的执行顺序是由内到外。

12.条件表达式 :IF-THEN-ELSE 逻辑

  Case函数的用法

CASE expr WHEN comparison_expr1 THEN return_expr1

         [WHEN comparison_expr2 THEN return_expr2

          WHEN comparison_exprn THEN return_exprn

          ELSE else_expr]

END

Deecode函数的用法

DECODE(col|expression, search1, result1

                 [, search2, result2,...,]

                 [, default])

//为职位是Manager的员工 发放5000元的奖金

SQL> select ename,job,case job when 'MANAGER' then nvl(sal,0)+5000  end  as "工资" from emp;

//员工的工资

SQL> select ename ,job,

  2  case job when 'MANAGER' then nvl(sal,0)+5000+nvl(comm,0)

  3  else nvl(sal,0)+nvl(comm,0)

  4  end

  5  from emp;

//改写成 decode的写法

SQL> select ename,job

  2  ,decode(job,'MANAGER', nvl(sal,0)+5000+nvl(comm,0),

  3  'CLERK',nvl(sal,0)+nvl(comm,0)+200,

  4  nvl(sal,0)+nvl(comm,0)) as "工资"

  5  from emp;

13、中文排序

order by nlssort(列,'NLS_SORT=SCHINESE_PINYIN_M');//拼音

order by nlssort(列,'NLS_SORT=SCHINESE_STROKE_M');//笔画

order by nlssort(列,'NLS_SORT=SCHINESE_RADICAL_M');//偏旁

举例如下:

SQL> select * from student; //查询所有数据

 

  SID NAME             DEPT    AGE

----- -------------------- ---------- ---

    1 张三               农大      21

    2 李四               农大      22

    3 王五               工大      21

    4 赵六               工大      20

SQL> select * from student order by name;  //注意观察

 

  SID NAME             DEPT    AGE

----- -------------------- ---------- ---

    1 张三               农大      21

    2 李四               农大      22

    3 王五               工大      21

    4 赵六               工大      20

SQL> select * from student order by nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');//按名笔画排序

  SID NAME             DEPT    AGE

----- -------------------- ---------- ---

    2 李四               农大      22

    3 王五               工大      21

    1 张三               农大      21

    4 赵六               工大      20

SQL> select * from student order by nlssort(name,'NLS_SORT=SCHINESE_STROKE_M');//注意理解

  SID NAME             DEPT    AGE

----- -------------------- ---------- ---

    3 王五               工大      21

    1 张三               农大      21

    2 李四               农大      22

    4 赵六               工大      20

SQL> select * from student order by nlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');//注意理解

  SID NAME             DEPT    AGE

----- -------------------- ---------- ---

    1 张三               农大      21

    2 李四               农大      22

    4 赵六               工大      20

    3 王五               工大      21

备注:null值参与排序 null值最大

 

 

转载于:https://www.cnblogs.com/yangkai-cn/archive/2013/04/09/4016899.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/376743.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++模板简单分析与举例

C模板简单分析与举例 #pragma once #include <iostream> /*/ C 模板 /*/ /* --- 函数模板 --- */ /// 声明 template <typename T1, typename T2> void TFunc(T1, T2); /// 一般定义 template <typename T1, typename T2> void TFunc(T1, T2) { std::cout &l…

flash builder4.7 for Mac升级AIRSDK详解

使用flash builder 打包ANE时或者打包ipa时候常常会遇到AIRSDK版本低的问题&#xff0c;然而flash builder4.7默认使用的AIRSDK是3.4而flash builder4.7 中 Flex SDK中默认的AIRSDK是3.1,大家可能有疑问怎么有二个AIRSDK。我的理解是Flex SDK中的AIRSDK是低版本&#xff0c;低版…

echarts formatter鼠标悬停显示信息

由于echarts中柱状图&#xff0c;鼠标放上去默认显示的是x轴名称以及y轴值。 而我现在需要再添加一些显示信息。 下面是操作&#xff1a; 在tooltip对象中补充trigger: “axis”,属性&#xff0c;然后再设置formatter。 tooltip : {formatter: function (params) {// do some …

codeforces 261 D

题目链接&#xff1a; 解题报告&#xff1a;给出一个序列a1,a2,a3.........an&#xff0c;f(i , j ,x) ak 等于x的个数(i < k < j)&#xff0c;令i < j&#xff0c;求有多少对 i 和 j 使得 f(1,i,ai) > f(j,n,aj)。 从左往右扫一遍这个序列&#xff0c;num1[i] 等于…

javascript下漢字和Unicode編碼互轉代碼

近日在為網站做一資料功能&#xff0c;這些顯示在頁面上面的文字數據都是存放在js文件裏面的&#xff0c;由於這些js文件裏面的中文都是經過unicode編碼的&#xff0c;頁面上顯示是沒有問題的&#xff0c;問題是我做的網站是繁體中文&#xff0c;而js文件裏面的中文數據是簡體中…

python 线程异步执行踩坑

有个需求&#xff0c;一个线程在得到n个数据之后&#xff0c;异步地执行一个子线程函数&#xff0c;在子线程函数中完成数据库的打开、写入数据、关闭操作。在子线程函数返回前父线程先返回结果。 在此之前&#xff0c;先导入我们需要的模块&#xff1a; from concurrent.futu…

关于window.history.back()后退问题

Windows下的window.history.back()后退后返回的不仅仅是前一个页而是前一个页的状态。假设一个页我改动了3次那必须后退3次才干回到前一个页。并且数据库中删除的数据依旧显示在上面感觉很的不有用。 解决的方法&#xff1a;history.back()后再加一个reload()这样就能够回到刷新…

每日英语:Smog Levels in Hong Kong Hit Highs

Hong Kong’s pollution levels hit nearly decade-level highs this week, sending locals scurrying inside and obscuring the city’s skyline behind a blanket of white. scurry&#xff1a;急跑&#xff0c;急赶    In the city’s central business district, road…

转载 | pymysql.err.InterfaceError: (0, ‘‘)解决办法

导致这个错误的原因是通过pymysql连接MySQL&#xff0c;没有关闭连接的操作&#xff0c;所以短时间内不会出问题&#xff0c;长时间保持这个连接会出现连接混乱。虽然看着自己的代码没错&#xff0c;还是会报 pymysql.err.InterfaceError: (0, ‘’)错误。所以这个连接要么连上…

不使用物理引擎,自己动手做真实物理的模拟投篮游戏

最近打算做一个2D投篮游戏&#xff0c;由于对于BOX2D等物理引擎并不熟悉&#xff0c;加之一开始低估了游戏所需要的碰撞检测复杂度&#xff0c;认为仅仅涉及4面墙&#xff0c;篮球&#xff0c;篮板&#xff0c;篮筐&#xff0c;篮网的碰撞检测并不复杂。因此决定自己实现所需要…

GoldenGate DDL双向复制

继续上一篇的实验。 节点说明&#xff1a; dd1(源库)--->>kf2(目标库) dd1(目标库)<<---kf2(源库) 在配置反向复制过程中&#xff0c;可暂时把源库和目标库调换位置&#xff0c;配置基本上雷同。 但在官网上有说明要注意的一个地方&#xff1a; Do ei…

转载|pymysql.err.InternalError: Packet sequence number wrong - got 45 expected 0

原文链接&#xff1a;https://www.cnblogs.com/heiao10duan/p/9373237.html 原因&#xff1a; 使用了多线程&#xff0c;多线程共享了同一个数据库连接&#xff0c;但每个execute前没有加上互斥锁 方法&#xff1a; 方法一&#xff1a;每个execute前加上互斥锁 lock.acquire…

JSF入门

1. 简介 JSF技术是Sun公司在2004年发布的用于开发Web应用的框架。当前版本是2.2&#xff0c;由JSR344规范定义。它是Java EE 7推荐的Web标准框架。Mojarra(https://javaserverfaces.java.net/)是Oracle官方采用的JSF的参考实现&#xff0c;其他的参考实现还有Apache基金的MyFac…

nyist 488 素数环

有一个整数n&#xff0c;把从1到n的数字无重复的排列成环&#xff0c;且使每相邻两个数&#xff08;包括首尾&#xff09;的和都为素数&#xff0c;称为素数环。 为了简便起见&#xff0c;我们规定每个素数环都从1开始。例如&#xff0c;下图就是6的一个素数环。 这题在进行判断…

Android System分区大小异常

平台&#xff1a;Freescale &#xff0f; Android 4.2.2 问题描述&#xff1a; 用 df 命令&#xff0c;看到/system分区大小275M。 用 busybox fdisk -l /dev/block/mmcblk0p5&#xff0c;看到 536M。 Freescale的刷机工具是Mfgtool&#xff0c;分区的动作在mksdcard-android.s…

python数据库连接池使用

在转载|pymysql.err.InternalError: Packet sequence number wrong - got 45 expected 0这一篇中&#xff0c;我使用了方法一。接下来试试方法三&#xff0c;方法三和方法二其实意义差不多&#xff0c;但是对于数据库的连接并不是交由程序员管理而是交由连接池管理了&#xff0…

.Net入门-部署问题

学习一门新的语言难免会遇到各种各样的问题&#xff0c;总结一下。 测试环境&#xff1a;windows2008serverIIS7 开发环境: vs2010 问题1&#xff1a;"Unrecognized attribute targetFramework. Note that attribute names are case-sensitive. " 分析&#xff1a; 开…

pymysql.err.OperationalError: (1203, “User root already has more than ‘max_user_connections‘ active

max_connections 是指MySQL服务器的最大连接数。即所有用户最大连接数的和。 max_user_connections 是指MySQL中单个用户的最大连接数。 这里说明当前用户的连接数大于了单个用户的最大连接数&#xff0c;需要扩大连接数&#xff1a; mysql> show variables like %connect%…

北京行——JSP入门与Servlet精通

Servlet技术 用来动态生成 网页数据资源Servlet生成HTML 页面数据时&#xff0c;所有内容都是通过 response.getWriter response.getOutputStream 向浏览器输出的 <html> <head> </head> <body> Hello </body></html> 用Servlet 输出流打印…

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

可以参考一波&#xff1a;https://stackoverflow.com/questions/16573332/jsondecodeerror-expecting-value-line-1-column-1-char-0 1、json格式不对引起的错误 加上if json_rep.content:判空操作 json_rep requests.post(url monitor_url, headers monitor_header,json …