sql知识点

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