首页 > 数据库 >数据库 Tips

数据库 Tips

时间:2024-02-28 16:35:20浏览次数:33  
标签:-% 数据库 id DATE tsrange Tips col

数据库 Tips

时间和日期互转

数据库 当前时间 字符串转时间 时间转字符串 格式 dual 表
MySQL NOW() STR_TO_DATE DATE_FORMAT %Y-%m-%d %H:%i:%s 可选
Oracle SYSTIMESTAMPSYSDATE TO_TIMESTAMPTO_DATE TO_CHAR YYYY-MM-DD HH24:MI:SS 必须用
PostgreSQL CURRENT_DATECURRENT_TIMECURRENT_TIMESTAMP TO_DATETO_TIMESTAMP TO_CHAR YYYY-MM-DD HH24:MI:SS 不能用

MySQL

创建数据库并指定字符集

并不难,只不过用的比较多,记下来

CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE `test` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

时间和字符串互转

STR_TO_DATEDATE_FORMAT,转换格式:%Y-%m-%d %H:%i:%s

Oracle

(+) 符号

这种是旧写法,oracle 已经不再推荐

详情可见https://stackoverflow.com/a/47008794/17746262

在 Oracle 中,(+) 表示 JOIN 中的“可选”表。

SELECT a.id, b.id, a.col_2, b.col_2, ...
FROM a,b
WHERE a.id=b.id(+)

现代写法就是:

SELECT  a.id, b.id, a.col_2, b.col_2, ...
FROM a
LEFT JOIN b ON a.id=b.id

创建序列

-- 创建序列
create sequence seq_newsId
-- 删除序列
DROP SEQUENCE seq_newsId

PostgreSQL

判断时间重合

使用tsrange函数:

select * from example
where tsrange(start_time, end_time, '()') && tsrange(start_time2, end_time2, '()')

解释:tsrange 可以把时间转换成时间段然后使用&&判断是否重合,第三个参数代表边界范围,即开区间还是闭区间,可选([
前者代表开区间,即不包含边界,后者代表闭区间,包含边界,第一个括号代表开始时间,第二个括号代表结束时间。


持续更新中……

标签:-%,数据库,id,DATE,tsrange,Tips,col
From: https://www.cnblogs.com/code-blog/p/18040915

相关文章

  • Mybatis 批量更新 PostgreSQL 数据库,返回更新行数
    1.拼接成1条sql语句,可返回修改行数。PostgreSQL的批量更新原生sql:updatepersonsetname=tmp.name,age=tmp.age,addr=tmp.addr,num=tmp.num,update_time=tmp.update_timefrom(values(1,'关羽',43,'成都',1,'2021-03-2617:32:2......
  • 国产化数据库选型
    背景政府型等企业对视频会议产品有国产化方需求,其中包括国产化服务器、国产化操作系统、国产化数据库、国产化软件等,特别是国产化服务器和国产操作系统、国产化数据库,有特别明确。目前我司已选型国产化服务器为:曙光CPU,海光机器,操作系统为:KyLin-Server-V10-SP1。需求分析原私有......
  • 数据库设计规范 - 阿里
    基于阿里数据库设计规范扩展而来设计规范1.【推荐】字段允许适当冗余,以提高查询性能,但必须考虑数据一致。冗余字段应遵循:不是频繁修改的字段。不是varchar超长字段,更不能是text字段。正例:商品类目名称使用频率高,字段长度短,名称基本一成不变,可在相关联的表中冗余存储......
  • DBeaver 配置postgresSQL离线驱动(全)ps:其他数据库同理
    原文地址:https://blog.csdn.net/wulala517/article/details/1305831931.首先在一台可联网的机器上打开db,在这儿获取驱动作为离线驱动包。依次点击数据库-驱动管理器;搜索框输入你需要修改离线驱动的数据库,我是pg库,以下以pg库为例,输入postgres,左键单击postgresSQL,后点击编辑; 2.......
  • 在K8S中,etcd数据库中数据如何更改?
    在Kubernetes(K8s)中,etcd中的数据更改主要发生在以下几个场景中:创建、更新和删除Kubernetes资源对象:当用户在Kubernetes中创建(POST)、更新(PUT)或删除(DELETE)一个资源对象(如Pod、Service、Deployment等)时,KubernetesAPI服务器会将这些更改转换为对etcd的相应操作。API服务器会将更改......
  • 在K8S中,etcd是什么类型数据库?
    在Kubernetes(K8s)中,etcd是一个高度可靠、分布式的键值存储数据库,用于存储集群的共享配置和服务发现信息。etcd在Kubernetes架构中扮演着核心组件的角色,是集群状态数据的关键存储后端。1.etcd的类型:键值存储(Key-ValueStore):etcd最基本的功能是作为键值存储,它允许用户存储和......
  • 数据库
    关系型数据库mysql索引笔记sql练习一sql练习二groupby的解析非关系型数据库Redis使用规范ELKMongoDB......
  • 【MySQL】【锁的前置知识】数据库的锁有哪些?怎么看?锁的是什么?什么情况下会加什么锁?什
    1 前言数据库中的锁,是一个很大的问题,从哪看起呢?该怎么看呢?所以在看锁之前,了解一些相关的前置知识,然后再去细看不同的场景下会加什么样的锁方便你快速理解。官网,当然我们这里看的引擎是InnoDB哈,那我们从以下几个问题看起:(1)数据库中的锁有哪些(怎么知道呢,网上的文章五花八门的......
  • oracle增加表分区,金仓增加表分区,oracle增加数据库空间
    1.金仓增加表分区CREATETABLE"public"."分区名"PARTITIONOF"public"."表名"FORVALUESFROM('2024-02-0100:00:00')TO('2024-02-2923:59:59');COMMENTONTABLE"public"."分区名"IS'......
  • idea连接数据库
    1.情景展示在idea中,我们直接连接到数据库,如何实现?2.具体操作打开idea,切换到Database窗口。按照下图指引,找到自己实际所需的数据库类型。注意:mysql不要选错了。以mysql进行举例说明等上述配置好后,点击“TestConnection”,以测试数据库是否连接正常。不管是哪种数据库,......