日期格式参数及其含义说明

日期格式参数及其含义说明

D 一周中的星期几
DAY 天的名字,使用空格填充到9个字符
DD 月中的第几天
DDD 年中的第几天
DY 天的简写名
IW ISO标准的年中的第几周
IYYY ISO标准的四位年份
YYYY 四位年份
YYY,YY,Y 年份的最后三位,两位,一位
HH 小时,按12小时计
HH24 小时,按24小时计
MI 分
SS 秒
MM 月
Mon 月份的简写
Month 月份的全名
W 该月的第几个星期
WW 年中的第几个星期
*

/
--显示当前时间,查询当前时间是这年的第几天?是这个星期的第几天?是这个月的第几天?
/*
分析 sysdate 显示当前时间   to_char :将日期转按一定格式换成字符类型
*/

select sysdate,to_char(sysdate,'ddd-dd-d') "年-月-星期"
from dual;
--显示所有雇员的姓名和加入公司的年份和月份,按雇员受雇日所在月排序。
/*
  1.从那张表查询 2.查询什么 3.最后排序
*/
select concat(last_name,first_name),to_char(start_date,'yyyy-mm')
from s_emp
order by to_char(start_date,'mm') ;
--找出在(任何年份的)7月受聘的所有雇员
/*
  1.从那张表查询 2.满足什么条件 3.查询什么内容 注意 07 代表7月
*/
select emp.last_name,start_date 
from s_emp emp
where to_char(start_date,'mm') = '07';
--显示所有雇员的姓名以及满10年服务年限的日期
/*
  1.从那张表查询 2.满足什么条件(满10年服务年限的日期)3.查询什么(雇员的姓名,日期)
*/
select concat(last_name,first_name),start_date
from s_emp
where months_between(sysdate,start_date)>=10*12;
--对于每个雇员,显示其加入公司的天数
select last_name,trunc(sysdate-start_date) day
from s_emp;
--显示所有雇员的姓名的前三个字符 :substr 截取 concat 拼接 
select substr(concat(last_name,first_name),1,3) 
from s_emp;
--显示正好为15个字符的雇员姓名 :条件 名字为15个字符 
select concat(last_name,first_name) name
from s_emp
where length(concat(last_name,first_name)) = 15;
--显示只有首字母大写的所有雇员的姓名 条件 :姓名中首字母大写
select concat(last_name,first_name)
from s_emp
where concat(last_name,first_name)= initcap(concat(last_name,first_name));

--以年、月和日显示所有雇员的服务年限(入职了多少年多少月多少天) 无条件
select last_name ,
      trunc((sysdate-start_date)/365), -- 当前日期-入职时间 除以 365 年份
      trunc(mod(months_between(sysdate,start_date),12)), -- 进行取余 求出月份
      trunc(sysdate - add_months(start_date,months_between(sysdate,start_date)))-- months_between两个日期间差了多少个月 add_months 在第一个参数上加上第二个参数的月分 
from s_emp;
--找出早于23年之前受雇的雇员 条件 早于23年之前(判断入职日期到现在是否大于23年)
select last_name ,start_date 
from s_emp
where months_between(sysdate,start_date) > 12*23;
--以这种2001/07/08格式来显示入职时间
select to_char( start_date,'yyyy/mm/dd')
from s_emp;
--多表查询:

--1 查询所有员工的ID,名字和所在部门的名称 (员工表 关联 部门表 消除笛卡尔积)
select emp.id, emp.last_name,dept.name
from s_emp emp,s_dept dept
where emp.dept_id = dept.id;
--2查询部门名称包含Ad的员工姓名薪水 条件 (部门的名称 包含 Ad )
select dept.name,emp.id,emp.last_name,emp.salary
from s_emp emp ,s_dept dept
where emp.dept_id = dept.id and dept.name like '%Ad%';
--3查询欧洲销售部门的薪水在1000到3000的员工信息 Europe 欧洲 Sales 销售
/*
  1.员工信息 (S_emp) 销售部门 (S_dept) 欧洲 (s_region)
  2.进行等职连接 消除笛卡尔积 
  3.区域的名字 为欧洲 部门的名字 为销售 薪水 1000到3000
  4.查询
*/

select e.id , e.last_name , r.name , d.name 
from s_emp e , s_dept d , s_region r
where e.dept_id=d.id and d.region_id=r.id and r.name='Europe'  
                     and d.name='Sales' and salary between 1000 and 3000;
--4 查询部门名称是5位,该部门员工的薪水不等于1500,并按员工的薪水降序排序 执行顺序 1.from 2.where 3.select 4.order by
select emp.last_name, emp.salary
from s_emp emp,s_dept dept
where emp.dept_id = dept.id and length(dept.name) = 5 and salary !=1500
order by salary desc;
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
PID控制器是一种常用的控制器,用于控制系统的输出使其接近于期望值。PID控制器的参数包括比例系数(Kp)、积分时间(Ti)和微分时间(Td)。 比例系数(Kp)表示输出变化量与误差的比例关系,即输出量与偏差的乘积。当Kp过大时,系统会产生震荡;当Kp过小时,系统会产生较大的稳态误差。因此,需要根据实际情况选择合适的Kp值。 积分时间(Ti)表示误差的积分时间,即偏差与时间的乘积。当Ti过大时,系统的响应速度会变慢;当Ti过小时,系统容易产生震荡。因此,需要根据实际情况选择合适的Ti值。 微分时间(Td)表示误差的微分时间,即偏差的变化率。当Td过大时,系统容易产生震荡;当Td过小时,系统的响应速度会变快。因此,需要根据实际情况选择合适的Td值。 在使用STM32进行PID控制时,首先需要根据实际情况选择合适的PID参数,并将其设置为STM32的寄存器中。然后,可以通过读取传感器反馈的数据,计算出当前的误差值,并使用PID控制器计算出需要输出的PWM值。最后,将计算出的PWM值输出到驱动器中,控制电机等执行器的运动。 需要注意的是,PID控制器的参数选择需要根据实际情况进行调整,以使系统的响应速度和稳定性达到最佳状态。同时,也需要进行实时监测和调整,以保证系统的稳定性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值