解决查询同步人员信息,使用 case when then解决多IF判断问题

select LOCATION,
cert_type,
WEIXIN,
MARRIAGE,
RECORD_WAGE,
SPECIALTY,
EMAIL,
WORKING_TIME,
REPORTER,
NATION,
GENDER,
TELPHONE,
OFFICENUMBER,
post_type,
ID,
BIRTHDAY,
AGE,
POSTALCODE,
QQ,
WORK_STARTING_DATE,
WEIBO,
POSTADDRESS,
POLITICS,
HOBBY,
MSN,
UPDATE_TIME,
BIRTHPLACE,
EXT_ATTR_4,
EXT_ATTR_5,
EXT_ATTR_2,
EXT_ATTR_3,
ADDRESS,
yearsOFservice,
EXT_ATTR_1,
person_class,
DEGREE,
USED_NAME,
BLOG,
ID_CARD,
WEBSITE,
case
when EXT_ATTR_2 is null then EXT_ATTR_2
when EXT_ATTR_2 = CONVERT(VARCHAR (10), DATEADD(MONTH, datediff(MONTH, 0, EXT_ATTR_2), 0), 120) then CONVERT(
VARCHAR (10), DATEADD(MONTH, datediff(MONTH, 0, EXT_ATTR_2), 0), 120)
else CONVERT(VARCHAR (10), DATEADD(MONTH, DATEDIFF(MONTH, 0, EXT_ATTR_2) + 1, 0), 120) end as annuity_pay
from mid_org_person_base
where id = '${code}'; select cert_type,
EMAIL,
GENDER,
TELPHONE,
OFFICENUMBER,
post_type,
ID,
EXT_ATTR_4,
EXT_ATTR_5,
EXT_ATTR_2,
case
when EXT_ATTR_2 is null then EXT_ATTR_2
when EXT_ATTR_2 = CONVERT(VARCHAR (10), DATEADD(MONTH, datediff(MONTH, 0,EXT_ATTR_2), 0), 120) then CONVERT(
VARCHAR (10), DATEADD(MONTH, datediff(MONTH, 0, EXT_ATTR_2), 0), 120)
else CONVERT(VARCHAR (10), DATEADD(MONTH, DATEDIFF(MONTH, 0, EXT_ATTR_2) + 1, 0), 120)
end as rizhiDate,
EXT_ATTR_3,
ADDRESS,
EXT_ATTR_1,
person_class,
ID_CARD
from mid_org_person_base
where id = '${code}'; case
when EXT_ATTR_1 is null then EXT_ATTR_1
when EXT_ATTR_1 = (convert(char(10), dateadd(month, datediff(month, 0, EXT_ATTR_1), 0), 126)) then (convert(
char(10), dateadd(month, datediff(month, 0, EXT_ATTR_1), 0)))
else convert(char(10), DATEADD(MONTH, DATEDIFF(MONTH, 0, EXT_ATTR_1) + 1, 0), 126)
end as rizhiDate, select
case
when 范围条件 then 产生的结果
when 范围条件 then 产生的结果
else 不是以上范围产生的结果
end
from 表名 select cert_type,
EMAIL,
GENDER,
TELPHONE,
OFFICENUMBER,
post_type,
ID,
EXT_ATTR_4,
EXT_ATTR_5,
EXT_ATTR_2,
# ISNULL(IF(EXT_ATTR_2 = convert(char(10), dateadd(month, datediff(month, 0, getdate()), 0), 126),
# convert(char(10), dateadd(month, datediff(month, 0, getdate()), 0), 126),
# convert(char(10), DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) + 1, 0), 126)), "") as extattr,
IF(ISNULL(EXT_ATTR_2,0))
EXT_ATTR_3,
ADDRESS,
EXT_ATTR_1,
person_class,
ID_CARD
from mid_org_person_base
where id = '${code}'; select isnull(EXT_ATTR_2,GETDATE())
from mid_org_person_base
where id = '${code}'; select if(2>1,1,0) from mid_org_person_base where id = '${code}'; select DATE_ADD(curdate()-day(curdate())+1,interval 1 month); -- 获取下个月的第一天
select DATE_ADD(curdate(),interval -day(curdate())+1 day); -- 获取本月第一天 ifnull(if(EXT_ATTR_2 = (select DATE_ADD(curdate(), interval -day(curdate()) + 1 day)),
(select DATE_ADD(curdate(), interval -day(curdate()) + 1 day)),
(select DATE_ADD(curdate() - day(curdate()) + 1, interval 1 month))),null), select DATEADD(MM,DATEDIFF(MM,0,GETDATE()),0) AS 本月第一日
,DATEADD(DAY,1,DATEADD(MM,DATEDIFF(MM,0,GETDATE())+1,0)) 本月最后一日 select CONVERT(VARCHAR (10), DATEADD(MONTH, DATEDIFF(MONTH, 0,'2022-12-02'), 0), 120) AS 本月第一日
,CONVERT(VARCHAR(10),DATEADD(MONTH, DATEDIFF(MONTH, 0, '2022-12-02')+1, 0),120) 下月第一日 convert(char(10),getdate(),126) --本月第一天
select dateadd(month, datediff(month, 0, getdate()), 0);
--本月最后一天
select dateadd(month, datediff(month, -1, getdate()), -1);
--上月第一天
select DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0)
--上月最后一天
select DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE())-1, -1)

记录一下工作中SQL Server数据库遇到的问题的更多相关文章

  1. 转:SQL SERVER数据库中实现快速的数据提取和数据分页

    探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的“红头文件”一表的部分数据结构: CREATE TABLE [dbo]. ...

  2. SQL Server数据库中的系统数据库?

    SQL Server的系统数据库分为:master,model,msdb和tempdb 1.Master数据库 Master数据库记录SQL Server系统的所有系统级别信息(表sysobjects ...

  3. C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用

    C#面试题(转载) 原文地址:100道C#面试题(.net开发人员必备)  https://blog.csdn.net/u013519551/article/details/51220841 1. . ...

  4. SQL Server数据库快照的工作方式

    SQL Server数据库快照的工作方式 翻译自:How Database Snapshots Work 最近有一个帖子<errorlog中的异常信息rolled forward 和rolled ...

  5. 在易语言中调用MS SQL SERVER数据库存储过程方法总结

    Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...

  6. 清空SQL Server数据库中所有表数据的方法(转)

    清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入 ...

  7. SQL Server数据库多种方式查找重复记录

    摘要:SQL Server是一个关系数据库管理系统,SQL Server数据库的应用是很多的,SQL Server数据库赢得了广大用户的青睐,本文将主要为大家介绍关于SQL Server数据库中查找重 ...

  8. 清空SQL Server数据库中所有表数据的方法

    原文:清空SQL Server数据库中所有表数据的方法 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可 ...

  9. 浅析SQL Server数据库中的伪列以及伪列的含义

    SQL Server中的伪列 下午看QQ群有人在讨论(非聚集)索引的存储,说,对于聚集索引表,非聚集索引存储的是索引键值+聚集索引键值:对于非聚集索引表,索引存储的是索引键值+RowId,这应该是一个 ...

  10. 基于Spring Boot,使用JPA调用Sql Server数据库的存储过程并返回记录集合

    在上一篇<基于Spring Boot,使用JPA操作Sql Server数据库完成CRUD>中完成了使用JPA对实体数据的CRUD操作. 那么,有些情况,会把一些查询语句写在存储过程中,由 ...

随机推荐

  1. 《小白WEB安全入门》03. 漏洞篇

    @ 目录 SQL注入和简单绕过原理 什么是SQL 什么是SQL注入 XSS漏洞原理 什么是XSS XSS分类 NOSQL注入 什么是NOSQL CSRF原理 什么是CSRF 网络摄像头入侵原理 什么是 ...

  2. 全局多项式(趋势面)与IDW逆距离加权插值:MATLAB代码

      本文介绍基于MATLAB实现全局多项式插值法与逆距离加权法的空间插值的方法,并对不同插值方法结果加以对比分析. 目录 1 背景知识 2 实际操作部分 2.1 空间数据读取 2.2 异常数据剔除 2 ...

  3. 如何使用Python进行投资收益和风险分析

    如何投资是现代企业.个人投资者所面临的实际问题,投资的目标是收益尽可能大,但是投资往往伴随着风险,如果在保证收益最大化的情况下,风险最小:或是风险相同的情况下,如何实现收益的最大化:通过本实训,可以使 ...

  4. 再聊Java Stream的一些实战技能与注意点

    大家好,又见面了. 在此前我的文章中,曾分2篇详细探讨了下JAVA中Stream流的相关操作,2篇文章收获了累计 10w+阅读.2k+点赞以及 5k+收藏的记录.能够得到众多小伙伴的认可,是技术分享过 ...

  5. 【.NET8】访问私有成员新姿势UnsafeAccessor(上)

    前言 前几天在.NET性能优化群里面,有群友聊到了.NET8新增的一个特性,这个类叫UnsafeAccessor,有很多群友都不知道这个特性是干嘛的,所以我就想写一篇文章来带大家了解一下这个特性. 其 ...

  6. How to install Django¶

    This document will get you up and running with Django. Install Python Being a Python Web framework, ...

  7. C#学习笔记--复杂数据类型、函数和结构体

    C#基础 复杂数据类型 特点:多个数据变量地一个集合体,可以自己命名 种类:枚举.数组和结构体 枚举:整型常量的集合 数组:任意变量类型的顺序存储的数据集合 结构体:任意变量类型的数据组合成的数据块 ...

  8. 文心一言 VS 讯飞星火 VS chatgpt (116)-- 算法导论10.3 1题

    一.用go语言,画图表示序列(13,4,8,19,5,11),其存储形式为多数组表示的双向链表.同样画出单数组表示的形式. 文心一言: 在Go语言中,我们无法直接画图,但我可以帮助你描述如何使用Go语 ...

  9. 16.2 ARP 主机探测技术

    ARP (Address Resolution Protocol,地址解析协议),是一种用于将 IP 地址转换为物理地址(MAC地址)的协议.它在 TCP/IP 协议栈中处于链路层,为了在局域网中能够 ...

  10. 如何在 Vue.js 中引入原子设计?

    本文为翻译文章,原文链接: https://medium.com/@9haroon_dev/introducing-atomic-design-in-vue-js-a9e873637a3e 前言 原子 ...