2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
oracle系列文章:
【1】Oracle数据库:啥是oracle数据库?你为啥要学oracle?
【2】Oracle数据库:oracle 11g安装教程,已安装好的oracle各个文件夹的作用,oracle用户权限怎么样
【3】Oracle数据库:oracle启动,oracle客户端工具plsql安装教程和使用方法
【4】Oracle数据库:创建表空间,创建新用户,给用户分配对象、角色和系统权限,登录新用户建表
【5】Oracle数据库:链接配置,包括sqlnet.ora里面的transnames.ora配置数据库标识符SID,listener暂时简单了解
【6】Oracle数据库:net configureation assistant工具配置监听listener,配置本地网络访问服务器上的数据库
【7】Oracle数据库:oracle字符类型、数字类型、创建表表名的命名规则
【8】Oracle数据库:约束条件:主键约束、唯一约束、检查约束、非空约束、外键约束、默认值填写
【9】Oracle数据库:表的关系:一对多,一对一,多对多,一一继承和修改的关系,表不是重点,重点是数据和约束关系
【10】Oracle数据库:sql语言结构,数据查询语言DQL,select * from table;算术,别名,连接,去重等操作
【11】Oracle数据库:约束行限制where语句,判断条件,比较条件,字符串日期格式,in,like,escape,null语句
【12】Oracle数据库:逻辑运算and,or,not和各种运算的优先级控制
【13】Oracle数据库:排序order by语句,select from where order by的执行先后顺序,各种样例
【14】Oracle数据库:oracle函数,单行函数,多行函数,upper,lower,initcap,字符串函数
【15】Oracle数据库:数字函数,日期函数,round,trunc,mod,months_between,add_months,next_day,last_day,sysdate
日期,其实,已经把它隐式转换了
我们给了日月年
hire_date实际上是日期date类型
我们给了字符串,实际上oracle会自动转
SQL> select employee_id from employees where employee_id='206';
EMPLOYEE_ID
-----------
206
SQL> select employee_id from employees where employee_id=206;
EMPLOYEE_ID
-----------
206
你看我们给了字符串,或者数字
它都会自动给你转化为number类型的
这就是隐式类型的转换很舒服——但是写代码千万不要用隐式转换
但是写代码千万不要用隐式转换
但是写代码千万不要用隐式转换
但是写代码千万不要用隐式转换
但是写代码千万不要用隐式转换
但是写代码千万不要用隐式转换
但是写代码千万不要用隐式转换
为什么待会讲!!!
这里要是表达式赋值转换,是只能单向的
不支持反过来
所以,千万不要用隐式转换!!!!!
所以,千万不要用隐式转换!!!!!
所以,千万不要用隐式转换!!!!!
所以,千万不要用隐式转换!!!!!
知道就行了
month月全名
mon月简写
mm月数字
dy星期几的简写
day星期几
dd是一个月的哪天,号数
SQL> select to_char(sysdate,'yyyy') from dual;
TO_CHAR(SYSDATE,'YYYY')
-----------------------
2022
SQL> select to_char(sysdate,'year') from dual;
TO_CHAR(SYSDATE,'YEAR')
------------------------------------------
twenty twenty-two
SQL> select to_char(sysdate,'mm') from dual;
TO_CHAR(SYSDATE,'MM')
---------------------
10
SQL> select to_char(sysdate,'month') from dual;
TO_CHAR(SYSDATE,'MONTH')
------------------------
10月
SQL> select to_char(sysdate,'mon') from dual;
TO_CHAR(SYSDATE,'MON')
----------------------
10月
SQL> select to_char(sysdate,'dy') from dual;
TO_CHAR(SYSDATE,'DY')
---------------------
星期二
SQL> select to_char(sysdate,'day') from dual;
TO_CHAR(SYSDATE,'DAY')
----------------------
星期二
SQL> select to_char(sysdate,'dd') from dual;
TO_CHAR(SYSDATE,'DD')
---------------------
25
这都号好说
SQL> select to_char(sysdate,'AM') from dual;
TO_CHAR(SYSDATE,'AM')
---------------------
下午
SQL> select to_char(sysdate,'HH') from dual;
TO_CHAR(SYSDATE,'HH')
---------------------
06
SQL> select to_char(sysdate,'HH12') from dual;
TO_CHAR(SYSDATE,'HH12')
-----------------------
06
SQL> select to_char(sysdate,'MI') from dual;
TO_CHAR(SYSDATE,'MI')
---------------------
49
SQL> select to_char(sysdate,'ss') from dual;
TO_CHAR(SYSDATE,'SS')
---------------------
23
SQL> select to_char(sysdate,'HH:MI::ss AM') from dual;
TO_CHAR(SYSDATE,'HH:MI::SSAM')
------------------------------
06:51::16 下午
你可以给常量串,做拼接
10月25日
SQL> select to_char(sysdate,'dd "of" mm') from dual;
TO_CHAR(SYSDATE,'DD"OF"MM')
---------------------------
25 of 10
SQL> select to_char(sysdate,'ddspth') from dual;
TO_CHAR(SYSDATE,'DDSPTH')
-------------------------
twenty-fifth
SQL> select to_char(sysdate,'ddth') from dual;
TO_CHAR(SYSDATE,'DDTH')
-----------------------
25th
SQL> select to_char(sysdate,'ddsp') from dual;
TO_CHAR(SYSDATE,'DDSP')
-----------------------
twenty-five
25号的各种写法
SQL> select to_char(sysdate,'yyyy"年"mm"月"dd"日"') from dual;
TO_CHAR(SYSDATE,'YYYY"年"MM"月"DD"日"')
------------------------------------
2022年10月25日
SQL> select to_char(sysdate,'yyyy-mm-dd') from dual;
TO_CHAR(SYSDATE,'YYYY-MM-DD')
-----------------------------
2022-10-25
SQL> select last_name, to_char(hire_date,'yyyy"年"mm"月"dd"日"hh:mi:ss am') from employees;
LAST_NAME TO_CHAR(HIRE_DATE,'YYYY"年"MM"月"DD"日"HH:MI:SSAM')
------------------------- ------------------------------------------------
King 2003年06月17日12:00:00 上午
Kochhar 2005年09月21日12:00:00 上午
De Haan 2001年01月13日12:00:00 上午
Hunold 2006年01月03日12:00:00 上午
Ernst 2007年05月21日12:00:00 上午
Austin 2005年06月25日12:00:00 上午
Pataballa 2006年02月05日12:00:00 上午
反正你要转的各种格式,要熟悉,用法写好就行了
挺爽的
希望考试别考太复杂了
可能需要加千位符号,
这时候就需要将数字,放入字符
SQL> select to_char(346.555,'999,999.99') from dual;
TO_CHAR(346.555,'999,999.99')
-----------------------------
346.56
格式的长度,可以大于你真实数字的长度
但是模板不够长,就gg
SQL> select to_char(123456346.555,'999,999.99') from dual;
TO_CHAR(123456346.555,'999,999.99')
-----------------------------------
###########
所以格式不匹配就gg
最好模板格式的长度要大于等于实际数字的长度
懂?
SQL> select to_char(56346.555,'099,999.99') from dual;
TO_CHAR(56346.555,'099,999.99')
-------------------------------
056,346.56
如果是0,就是强制转0
SQL> select to_char(56346.555,'$99,999.99') from dual;
TO_CHAR(56346.555,'$99,999.99')
-------------------------------
$56,346.56
SQL> select to_char(56346.555,'L99,999.99') from dual;
TO_CHAR(56346.555,'L99,999.99')
-------------------------------
¥56,346.56
加美元和人民币
FM是去掉前后空格
SQL> select to_char(46.555,'99,999.99') from dual;
TO_CHAR(46.555,'99,999.99')
---------------------------
46.56
SQL> select to_char(46.555,'fm99,999.99') from dual;
TO_CHAR(46.555,'FM99,999.99')
-----------------------------
46.56
前面的控制gg了
SQL> select last_name,to_char(salary,'fm999,999,999.00') from employees where last_name='Whalen';
LAST_NAME TO_CHAR(SALARY,'FM999,999,999.00')
------------------------- ----------------------------------
Whalen 4,400.00
加美元
SQL> select last_name,to_char(salary,'fm$999,999,999.00') from employees where last_name='Whalen';
LAST_NAME TO_CHAR(SALARY,'FM$999,999,999.00')
------------------------- -----------------------------------
Whalen $4,400.00
很容易的
SQL> select to_number('$456.84','$999.99') from dual;
TO_NUMBER('$456.84','$999.99')
------------------------------
456.84
后面的格式要转化的字符的格式
前面的格式就是$999.99的格式
长度也是要长的
当年你把456.84转字符的时候用的就是这个格式:$999.99
逆转也是一样的道理
这些比java和Python复杂,但是本质就一样
SQL> select to_number('$34346.84','$99999.99') from dual;
TO_NUMBER('$34346.84','$99999.99')
----------------------------------
34346.84
很简单的
SQL> select to_date('2022','fmyyyy') from dual;
TO_DATE('2022','FMYYYY')
------------------------
2022/10/1
SQL> select to_date('2022-03-09','fmyyyy-mm-dd') from dual;
TO_DATE('2022-03-09','FMYYYY-MM-DD')
------------------------------------
2022/3/9
SQL> select to_date('2022-03-09 11:57','fmyyyy-mm-dd hh:mi') from dual;
TO_DATE('2022-03-0911:57','FMYYYY-MM-DDHH:MI')
----------------------------------------------
2022/3/9 11:57:00
字符串转日期,返回就是date类型
SQL> select to_date('2022-03-09 11:30','fmyyyy-mm-dd hh:mi') from dual;
TO_DATE('2022-03-0911:30','FMYYYY-MM-DDHH:MI')
----------------------------------------------
2022/3/9 11:30:00
灰常容易了
SQL> select to_date('2022年3月9日 11点30分','fmyyyy"年"mm"月"dd"日"hh"点"mi"分"') from dual;
TO_DATE('2022年3月9日11点30分','FMYYYY"年"MM"月"DD"日"HH"点"MI"分"')
----------------------------------------------------------
2022/3/9 11:30:00
汉字要用点
不能用时
挺烦的这
还是上面那种不用汉字的格式舒服
提示:重要经验:
1)
2)学好oracle,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。