oracle基础小细节

创建表时,sysdate不能直接放在check结构里,可以直接放在default中

sequence.nextval不能当做default值

 

日期类型的运算:系统当前默认时间格式为:dd-mon-rr

select sysdate - 10 from dual;

select sysdate - '10' from dual;

select sysdate - to_date('10-JANUARY-2007' /* 这里的格式很随意月份可简写可全写,可用-,可用/,也可混合用。与默认的时间格式关联不大 */) from dual;

select * from hr.employees t where sysdate > t.HIRE_DATE;

select sysdate - '10-JAN-07' from dual;×不能直接这样写

 

create table test2 as select * from test1;

test1表中的所有约束只有明确的not null才会被继承到test2中(只有这种约束才会被继承)(主键中的那个隐藏的not null不会被继承) 

 

字符连接:从10g开始引入该特性。q'后面的字符可以是:(下面这几个[]、{}、<>测试过OK的,其他的可能有问题,以后有时间再看看官方的文档或者自己试试)

  •     !
  •     [ ]
  •     { }
  •     ( )
  •     < >

前提是这些字符不会出现在后续的SQL中。

 

posted @   太古丶凶兽  阅读(180)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示