解决查询同步人员信息,使用 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. api接口对接如何实现商品数据采集的

    在当前互联网行业中,快速准确地采集和处理大量数据是非常重要的一项任务.而实现商品数据采集则是许多企业和电商平台必须完成的任务之一.使用API接口对接进行商品数据采集可以大大提高数据采集效率和准确性.下 ...

  2. 白盒AES和SM4实现的差分故障分析

    DFA攻击背景介绍 传统的密码安全性分析环境被称为黑盒攻击环境,攻击者只能访问密码系统的输入与输出,但随着密码系统部署环境的多样化,该分析模型已经不能够反映实际应用中攻击者的能力.2002年,Chow ...

  3. 《Python魔法大冒险》004 第一个魔法程序

    在图书馆的一个安静的角落,魔法师和小鱼坐在一张巨大的桌子前.桌子上摆放着那台神秘的笔记本电脑. 魔法师: 小鱼,你已经学会了如何安装魔法解释器和代码编辑器.是时候开始编写你的第一个Python魔法程序 ...

  4. C# MySqlHelp类 "DbModel.MySql"数据库操作类

    以前做易语言/PHP的. 最近刚入门C#, 就简单的封装了一个类库, 边学边玩才容易学到东西嘛, 比起sqlserver, 我还是觉得mysql更加有亲切感; 于是模仿ThinkPHP编写了一个&qu ...

  5. 「co-examination - A」

    破壁,组合意义法: 五种颜色 \(\star,a,b,c,d\). 对于 l.h.s. 钦定 \(k\),在 \(3n+k\) 个球中选出 \(2n\) 个球染色,在靠左的 \(n\) 个球中选 \( ...

  6. SQL连接符Left Join小实例

    在一数据移植项目中,Left  Join的应用 项目要求根据卡号获取最终用户号,规则如下: 1.根据card查询tbl_TestA表,获取userid,根据userid作为id查询tbl_TestB获 ...

  7. 解密网络通信的关键技术(上):DNS、ARP、DHCP和NAT,你了解多少?

    IP 协议相关技术 在与 IP 协议相关的技术中,有一些重要且常见的技术,其中包括 DNS 域名解析.ARP 协议.DHCP 动态获取 IP 地址以及NAT 网络地址转换.这些技术在网络通信中起着关键 ...

  8. Go 语言的前生今世与介绍

    Go 语言的前生今世与介绍 目录 Go 语言的前生今世与介绍 一. Go 语言的发展 1.1 Go 语言是如何诞生的? 1.2 Go语言的早期团队和演进历程 1.3 Go语言正式发布并开源 1.4 G ...

  9. 2023.09.29 入门级 J2 模拟赛 赛后总结(尝试第一篇总结)

    T1:变换(change) 一道大水题. 赛场上想都没想就切掉了 不难发现,转换的过程只和a 和b 的二进制位有关,且不同二进制位之间无关.我们可以将a 和b 转化为二进制表示,每一位分别判断,如果这 ...

  10. C#/.NET/.NET Core优秀项目和框架精选(2023年10月更新,项目分类已整理完成欢迎大家踊跃提交PR一起完善让优秀的项目和框架不被埋没)

    前言 帮助开发者发现功能强大.性能优越.创新前沿.简单易用的C#/.NET/.NET Core优秀项目和框架,无论你是寻找灵感.学习新技术.改进代码质量,还是想拓展自己的技术视野,都能为你提供有价值的 ...