1. SQL中使用case,when,then

SELECT
CASE TYPE
WHEN 1 THEN '正常'
WHEN 2 THEN '密码错误'
ELSE '不正常' END '状态'
FROM tbl_user

或者

SELECT
CASE
WHEN TYPE <> 1 THEN '正常'
WHEN TYPE = 1 THEN '密码错误' END '状态'
FROM tbl_user

需要注意的是: 最后必须有end,可以有else也可以没有。

2. UNION和UNION ALL

在写SQL的时候。偶尔会用到两个表的数据结合在一起返回的,就需要用到UNION 和 UNION ALL,有的时候有些数据的存储可能涉及到分库分表,查询的时候,可能需要查询所有的分表,这个时候,也需要用到UNION或者UNION AL。

union操作符:用于合并两个或多个SELECT语句的结果集,这里需要注意的是:UNION内部的SELECT语句必须拥有相同数量的列,列也必须拥有相似的数据类型,同时,每条SELECT语句中列的顺序必须相同。

并且需要注意的是:UNION和UNION ALL连接的语句,算是一个sql,只能有一个order by 语句,如果你需要两个sql都进行排序之后合并在一起,就需要使用子查询,将查询的语句再次查询一遍,然后进行合并!!

SELECT name FROM user UNION  SELECT name FROM user1 //得到的结果就是:分别从user表和user1表中查询name字段,然后合并到一起。

union all :如果需要去重,那么就使用union all

SELECT * FROM
(SELECT top 1 left(convert(varchar(100),RECEIVE_TIME,108 ),5) receiveTime, '' restoreTime,unit_code,unit_name
FROM T_FILE_RECEIVE_RECORD WHERE UNIT_CODE = '' and convert(char(100),RECEIVE_TIME,23)='2018-10-06' ORDER BY RECEIVE_TIME DESC
) table1
UNION ALL
SELECT * FROM
(SELECT top 1 '' receiveTime, left(convert(varchar(100),RESTORE_TIME,108 ),5) restoreTime,unit_code,unit_name
FROM T_FILE_RESTORE_RECORD WHERE UNIT_CODE = '' and convert(char(100),restore_time,23)='2018-10-06' ORDER BY restore_time DESC
) table2

sql中的一些通用函数的更多相关文章

  1. SQL Fundamentals || Single-Row Functions || 通用函数 General function || (NVL,NVL2,NULLIF,DECODE,CASE,COALESCE)

    SQL Fundamentals || Oracle SQL语言 SQL Fundamentals: Using Single-Row Functions to Customize Output使用单 ...

  2. Sql 中获取年月日时分秒的函数

    getdate():获取系统当前时间 dateadd(datepart,number,date):计算在一个时间的基础上增加一个时间后的新时间值,比如:dateadd(yy,30,getdate()) ...

  3. SQL中Round(),Floor(),Ceiling()函数的浅析

    项目中的一个功能模块上用到了标量值函数,函数中又有ceiling()函数的用法,自己找了一些资料,对SQL中这几个函数做一个简单的记录,方便自己学习.有不足之处欢迎拍砖补充 1.round()函数遵循 ...

  4. 关于sql中in 和 exists 的效率问题,in真的效率低吗

    原文: http://www.cnblogs.com/AdamLee/p/5054674.html 在网上看到很多关于sql中使用in效率低的问题,于是自己做了测试来验证是否是众人说的那样. 群众: ...

  5. 学习sql中的排列组合,在园子里搜着看于是。。。

    学习sql中的排列组合,在园子里搜着看,看到篇文章,于是自己(新手)用了最最原始的sql去写出来: --需求----B, C, F, M and S住在一座房子的不同楼层.--B 不住顶层.C 不住底 ...

  6. SQL中distinct的用法

    SQL中distinct的用法   1.作用于单列 2.作用于多列 3.COUNT统计 4.distinct必须放在开头 5.其他 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出 ...

  7. hibernate中java类的成员变量类型如何映射到SQL中的数据类型变化

    hibernate映射文件??.hbm.xml配置映射元素详解--Hibernate映射类型 在从Hibernate的java的成员类型映射到SQL中的数据类型,其内映射方式它满足,SQL可以自己调制 ...

  8. C#调用SQL中的存储过程中有output参数,存储过程执行过程中返回信息

      C#调用SQL中的存储过程中有output参数,类型是字符型的时候一定要指定参数的长度.不然获取到的结果总是只有第一字符.本人就是由于这个原因,折腾了很久.在此记录一下,供大家以后参考! 例如: ...

  9. sql中case when语句的使用-来自网摘文章

    Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...

随机推荐

  1. SpringData关键字查询练习

    我们在上一节知道SpringData关键字有很多,我就拿几个例子练练手 1.需求我们查询lastName like sun and id < ?的查询 package com.fxr.sprin ...

  2. spring-data-jpa 介绍 复杂查询,包括多表关联,分页,排序等

    本篇进行Spring-data-jpa的介绍,几乎涵盖该框架的所有方面,在日常的开发当中,基本上能满足所有需求.这里不讲解JPA和Spring-data-jpa单独使用,所有的内容都是在和Spring ...

  3. 2018-2019 ACM-ICPC, Asia Xuzhou Regional Contest Solution

    A. Rikka with Minimum Spanning Trees 题意: 给出一个图,求最小生成树的个数和权值 思路: 因为数据随机,只有一个MST #include <bits/std ...

  4. Entity Framework 复杂类型(转)

    为了说明什么是复杂属性,先举一个例子. public class CompanyAddress { public int ID { get; set; } public string CompanyN ...

  5. java -- JVM的符号引用和直接引用

    在JVM中类加载过程中,在解析阶段,Java虚拟机会把类的二级制数据中的符号引用替换为直接引用. 1.符号引用(Symbolic References): 符号引用以一组符号来描述所引用的目标,符号可 ...

  6. 如何使用STM32F4的BootLoader和APP程序

    源:如何使用STM32F4的BootLoader和APP程序 STM32 BootLoader升级固件

  7. 【转载】package-info

    本文是转载,原文地址:http://strong-life-126-com.iteye.com/blog/806246 package-info.java对于经常使用外部包的程序员来说应该是熟悉陌生人 ...

  8. 20144303石宇森《网络对抗》逆向及Bof基础

    20144303石宇森<网络对抗>逆向及Bof基础 一.实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回 ...

  9. linux内核分析第六周-分析Linux内核创建一个新进程的过程

    Linux内核对进程管理是操作系统的重要任务之一. 此次实验就是了解内核创建一个新进程的大致过程. 为了简单,使用fork再用户态创建一个进程.代码如下: 下面是准备工作​​​ cd LinuxKer ...

  10. 20155201 2016-2017-2 《Java程序设计》第十周学习总结

    20155201 2016-2017-2 <Java程序设计>第十周学习总结 教材学习内容总结 Java密码技术 安全的三个属性 机密性 完整性 可用性 密码学: 主要是研究保密通信和信息 ...