首页 > 数据库 >sql知识点

sql知识点

时间:2023-09-12 20:55:11浏览次数:41  
标签:知识点 NAME 09 日期 ADD 2023 sql DATE

sql知识点

1.查看唯一值

distinct

2.筛选满足条件怎么样,不满足条件怎么样

case when 条件 then(满足条件执行) else(不满足条件执行) end;(括号中可以是常量、变量、表达式也可以嵌套其他语句)
case when A_name = '' then demo else A_name end; 
case when nvl(b.CITY_NAME,'') = '' 
  then '025' 
  else b.CITY_NAME end as
City_code,
case when nvl(c.REGION_NAME,'')='' 
  then case when nvl(b.CITY_NAME,'') = '' 
          then '025'
          else b.CITY_NAME end
  else c.REGION_NAME

3.转换数据类型

CAST()函数

用法:CAST(expression AS data_type)
expression 是要进行转换的表达式
data_type 是要转换为的目标数据类型
常见的数据类型包括整数(INTEGER),小数(DECIMAL),日期(DATE),时间(TIME),日期时间(DATETIME)等。

将一个字符串类型的数字 ‘123’,转换为整数类型:

CAST(‘123’ AS INTEGER)

这将返回整数值 123。

将一个日期字符串 ‘2023-09-12’ 转换为日期类型:

CAST(‘2023-09-12’ AS DATE)

这将返回日期值 2023-09-12

4.DATA_ADD函数

在 SQL 中,DATE_ADD 函数用于对日期或时间进行加法操作。它的作用是在一个给定的日期或时间上添加指定的时间间隔,并返回计算后的结果。

DATE_ADD 的语法如下:
DATE_ADD(date, INTERVAL value unit)
其中,date 是要进行加法操作的日期或时间,value 是要添加的数值,unit 是时间间隔的单位,可以是年(YEAR)、月(MONTH)、日(DAY)、小时(HOUR)、分钟(MINUTE)或秒(SECOND)等。

假设当前日期是 2023-09-12,我们可以使用 DATE_ADD 函数来计算出 3 天后的日期:
DATE_ADD(CAST(‘2023-09-12’ AS DATE), INTERVAL 3 DAY)
这将返回 2023-09-15,即当前日期加上 3 天的结果。

除了加法操作,DATE_ADD 还可以进行减法操作,只需将 value 值设为负数即可。

例如,如果我们想计算当前日期减去 2 小时的结果:
DATE_ADD(CAST(‘2023-09-12 10:00:00’ AS DATETIME), INTERVAL -2 HOUR)
这将返回 2023-09-12 08:00:00,即当前日期时间减去 2 小时的结果

DATE_ADD(CAST('%(ARG_OPTIME_MIN01)s' AS DATETIME), Interval -3 day)

5.NVL()函数

在 SQL 中,NVL() 函数的作用是将一个表达式或字段的值替换为指定的值,当表达式或字段的值为 NULL 时。它的语法如下:

NVL(expr1, expr2)
如果 expr1 的值为 NULL,则返回 expr2 的值;
如果 expr1 的值不为 NULL,则返回 expr1 的值。

case when nvl(b.CITY_NAME,'') = '' then '025' else b.CITY_NAME end as City_code

标签:知识点,NAME,09,日期,ADD,2023,sql,DATE
From: https://www.cnblogs.com/grow-with-the-times/p/17697794.html

相关文章

  • Linux操作系统下安装与配置MySQL
    一、安装与配置[root@mysql1~]#cat/etc/redhat-releaseCentOSLinuxrelease7.9.2009(Core)https://downloads.mysql.com/archives/community/#下载地址[root@mysql1tools]#rpm-ivhmysql-community-client-5.7.18-1.el7.x86_64.rpm警告:mysql-community-client-5.......
  • 嵌入式三级知识点总结续章
    31. 稳压器包括普通稳压器和低压差稳压器LDO。32. DMA可以控制串口和USB的数据传输,DMA可以内存到内存、外设到内存、内存到外设。33. 数据寄存器既可以读取输入数据,也可以写数据到输出引脚。34. Linux内核为用户进程提供了一个虚拟接口,即系统调用,这样用户在对硬件编程的时候可......
  • MySQL异常断电恢复脚本
    #!/bin/bashuser="root"host="127.0.0.1"passwd="password"conf_file="/etc/mysql/mysql.conf.d/mysqld.cnf"backup_file="/home/ehigh/DB.sql"data_dir="/var/lib/mysql"if[$(id-u)-ne0];then......
  • sqlalchemy 排序方式 flask
    第一种:直接在查询语句中使用order_by现在就用第一种方法实现刚才所说(最新注册的用户的拍在前面),最新注册的也就是时间最大的。代码如下results=session.query(User).order_by(User.create_time.desc()).all()print(results)运行结果如下。 嗯,结果如我们所愿(时间按从大到小......
  • MySQL-分区表和分区介绍
    一、MySQL分区简介1、数据库分区数据库分区是一种物理数据库设计技术。虽然分区技术可以实现很多效果,但其主要目的是为了在特定的SQL操作中减少数据读写的总量以缩减sql语句的响应时间,同时对于应用来说分区完全是透明的。MYSQL的分区主要有两种形式:水平分区和垂直分区①、水平......
  • java中Mysql Insert 的高效应用
    在Java中,使用MySQL进行高效的插入操作可以采取以下几种方法:1.使用批量插入:通过使用批量插入语句,可以一次性插入多条数据,减少与数据库的交互次数,提高插入效率。可以使用JDBC的`addBatch()`方法将多个插入语句添加到批处理中,然后使用`executeBatch()`方法执行批处理。2.使用预编译......
  • MySQL 8.0.30 新新特性 不可见主键
    MySQL8.0.30引入了“生成的不可见主键”(GIPK)功能。本博客介绍了此功能,讨论了其局限性和限制,并描述了备份和恢复操作如何使用此功能。让我们开始吧!背景InnoDB存储引擎包含一个称为隐式主键的内部功能。此功能会在生成的名为DB_ROW_ID的列上自动生成名为GEN_CLUST_index的隐藏聚集索......
  • SQL SERVER----使用日期格式化,及GETDATE()、CONVERT()函数
    SQLSERVER中日期格式化,及GETDATE()、CONVERT()函数使用说明 1.date和datetime类型的区别date是SQLServer2008新引进的数据类型。它表示一个日期,不包含时间部分,可以表示的日期范围从公元元年1月1日到9999年12月31日。只需要3个字节的存储空间。dateTime日期和时间部分......
  • mysql
    一、逻辑架构1.1系统架构图Connectors:指的是不同语言中与SQL的交互ConnectionPool:管理缓冲用户连接,线程处理等需要缓存的需求。负责监听对MySQLServer的各种请求,接收连接请求,转发所有连接请求到线程管理模块。每一个连接上MySQLServer的客户端请求都会被分配(或创......
  • ArrayList/MySQL数据批量写入Excel表格
    ArrayList/MySQL数据集合写入Excel1.文章概述:写入Excel文件通常需要使用一些库或工具,而"EasyExcel"通常是指的阿里巴巴开源的EasyExcel库。这个库可以让我们在Java中简便地进行Excel文件的读写操作。2.导入配置:<dependency><groupId>com.alibaba</group......