一、 sql 多个字段拼接

mysql:
    1. concat函数  如果连接串中存在NULL,则返回结果为NULL:
       例如: select concat('1','2','3') from test  //结果123
                select concat(Null,'2','3') from test  //结果Null
    2. concat_ws函数  concat_ws(':','1','2','3')  
         第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。
         分隔符可以是一个字符串,也可以是其它参数。分隔符为NULL,则返回结果为NULL。
         可以对NULL进行判断,并用其它值进行替换  select concat_ws(':','1','2',ifNULL(NULL,'0'),'3') from bank //结果1:2:0:3 
         例如: select concat_ws(':','1','2','3') from test //结果:1:2:3
                 select concat_ws(Null','1','2','3') from test //结果:Null
ORACLE:
      1、连接符号“||”的使用,能将多个表中不同的字段进行拼接。
         例如:select  bxze||'#'||jkdh from bx_bxdj  //结果 55471#B X1200025    
 
二、随机查询 1 条数据

  My SQL:,随机查询语句 1 条

  select  *  from  表名 order by rand() limit 1;

  SQL Server,随机查询语句1条

    select top 1  * from  表名order by newid();

  Oracle,随机查询查询语句1条

    select * from(  select  *  from 表名 order by dbms_random.value) where rownum = 1;

三、四舍五入

1..整数部分超过三位的时候以逗号分割,并且返回的结果是string类型的。
             SELECT FORMAT(10,2);------------->10.00                   SELECT FORMAT(10.234,2);------------->10.23

    SELECT FORMAT(103134,2);------------>103,134.00

2.返回值是数值类型

 select ROUND(10, 2);------------->10                            select ROUND(10.234,2);------------->10.23

    select ROUND(103134.1221, 2);----------->103134.12

四 、mysql  isnull() /IFNULL()

select isnull(NULL) --------->1               select isnull("123")-------->0

    select isnull(123)-------->0                    select isnull(1/0)-------->1

_____________________________________________________________________________________________

select IFNULL(NULL,0) ---------->0          select IFNULL("123",0)------>123

select IFNULL(1/0,10);----------->10

五 、模糊查询

mySql: 

    1、查询 userName 中有'刘'的所有列
    SELECT * FROM tuser WHERE userName LIKE '%刘%'
  2、查询 userName 中有'刘'和'三'的所有列
    SELECT * FROM tuser WHERE userName LIKE '%刘%' AND userName LIKE '%三%'
  3、查询 userName 中有'刘'和'五' 且'刘'在'五' 前面的所有列
    SELECT * FROM tuser WHERE userName LIKE '%刘%五%'

六、分页

      mySql:
         语法:select * from tableName where 条件 limit 开始标记 , 页面容量;
         例如:select * from  tuser WHERE userName LIKE '%刘%' LIMIT 0,10     
                   从第0条开始,每页10条
 
七.  mysql更新一个表里的字段等于另一个表某字段的值
           update a left join c on a.id = c.id set a.body = c.c1 where a.id=c.id;
           实际业务需求  要把记录表的条数,统计到 统计表中。
           UPDATE lessonstatistics lest LEFT JOIN (SELECT count(LE_ID) count, LE_ID FROM lessonscore GROUP BY LE_ID ) t
    ON lest.le_id = t.le_id
    SET lest.PRAISEAMOUNT = t.count
    WHERE lest.le_id IN ( SELECT LE_ID FROM lessonscore GROUP BY LE_ID )
八、关于日期的查询
<!-- 按照年份查询-->

SELECT id,code,createtime FROM  tab  WHERE year(createtime)='2015' ORDER BY createtime LIMIT 0,10
<!-- 按照季度统计-->
SELECT QUARTER(NOW()) #查询季度 结果为当前的季度 返回结果1-4 之间
SELECT id,code,createtime FROM  tab   WHERE quarter(createtime) =1 LIMIT 0,10
<!-- 按照时间查询   -->

#UNIX时间戳,每个时间对应了一个唯一的UNIX时间戳,该时间戳是从'1970-01-01 00:00:00' 为0开始计时,每秒增加1

#将时间转化为时间戳。(date 类型数据转换成 timestamp 形式整数)  没传时间参数则取当前时间的时间戳   

SELECT id,code,createtime FROM tab WHERE UNIX_TIMESTAMP(createtime) >= UNIX_TIMESTAMP('2016-03-15') LIMIT 0,10

#参数 类型不能为 yyyy-mm
SELECT CURDATE() #当前日期
select date_sub('2015-09-01', interval 1 month);#当前日期的上个月
SELECT DATE_FORMAT( DATE_SUB(CURDATE(), INTERVAL 1 YEAR),'%Y-%m')#当前日期的去年同月

常用 sql的更多相关文章

  1. Mysql 常用 SQL 语句集锦

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  2. oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数

        花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用ora ...

  3. 常用SQL[ORACLE]

        1.常用系统函数 2.常用sql语句 3.一些定义和关键字 4.需要注意点   1.常用系统函数 ↑ --decode decode(column,if_value,value,elseif_ ...

  4. Oracle常用SQL查询(2)

    三.查看数据库的SQL 1 .查看表空间的名称及大小 select  t.tablespace_name,  round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...

  5. Oracle常用SQL查询

    一.ORACLE的启动和关闭 1.在单机环境下要想启动或关闭oracle系统必须首先切换到oracle用户,如下: su - oracle a.启动Oracle系统 oracle>svrmgrl ...

  6. Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)

    Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...

  7. 50个常用SQL语句

    50个常用SQL语句 Student(S#,Sname,Sage,Ssex) 学生表  S#学号,主键 Course(C#,Cname,T#) 课程表          C#课程号,主键 SC(S#, ...

  8. 测试常用SQL注入语句大全

    转载自Cracer,标题:<渗透常用SQL注入语句大全>,链接http://www.xxxx.com/?p=2226 1.判断有无注入点 整形参数判断 1.直接加' 2.and 1=1 3 ...

  9. oracle sqlplus及常用sql语句

    常用sql语句 有需求才有动力 http://blog.csdn.net/yitian20000/article/details/6256716 常用sql语句 创建表空间:create tables ...

  10. DBA常用SQL之DDL生成语句

    获取对象定义的包为:dbms_metadata,其中的get_ddl函数是获取对象的函数 GET_DDL函数返回创建对象的原数据的DDL语句,参数说明 .object_type ---需要返回原数据的 ...

随机推荐

  1. Android Application类作用简单说明

    每个程序运行时创建一个Application类的对象且只创建一个 Application对象的生命周期是整个程序中最长的,它的生命周期就等于这个程序的生命周期. Application来进行一些,如: ...

  2. Picard 法求方程根

    要点: 首先对于任何方程 :f(x)=0 ,可以转换成 f(x)+x-x => f(x)+x=x; 取g(x)=f(x)+x;  那么 新方程g(x)=x 的解即是 f(x)=0的解,即g(x) ...

  3. enum类型学习笔记

    如:enum color {red,white,yellow,green} 枚举出一种类型中的多个变量 enum本质为int,可以作为int使用: enum默认值为0,1,2... 以上的定义中: e ...

  4. First Missing Positive && missing number

    https://leetcode.com/problems/first-missing-positive/ 我原以为数组中不会有重复的数字,所以利用min.max分别记录给定数组中出现的最小正整数和最 ...

  5. CDATA为何物?

    CDATA的解释 1. 术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data),XHTML也是如此. CDATA 部分中的所有内容都会被解析 ...

  6. Software Testing hw2

    Fault的定义:可能导致系统或功能失效的异常条件(Abnormal condition that can cause an element or an item tofail.),可译为“故障”. ...

  7. Unity3d中Update()方法的替身

    在网上看到一些资料说Unity3d的Update方法是如何如何不好,影响性能.作为一个菜鸟,之前我还觉得挺好用的,完全没用什么影响性能的问题存在.现在发现确实有很大的问题,我习惯把一大堆检测判断放在U ...

  8. (一)读取PCD文件

    下面是一个简单的读取PCD文件并显示的代码: #include <iostream> #include <pcl/io/pcd_io.h> #include <pcl/p ...

  9. 【C-数组】

    一.一维数组 ①.定义方式 类型说明符 数组名 [常量表达式]; 如:int array[10]; 注意: 1) 数组的类型实际上是指数组元素的类型.对于同一个数组,其所有元素的数据类型都是相同的. ...

  10. Java解析网段下包含的所有IP地址

    import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;impor ...