一、 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. Java开发Webservice的组件

    参考:http://bbs.csdn.net/topics/390900831 转自:http://blog.csdn.net/dragoo1/article/details/50759222 htt ...

  2. 在 Mac OS 上创建并运行 ASP.NET Core 1.0 网站

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  3. LIS最长上升子序列O(n^2)与O(nlogn)的算法

    动态规划 最长上升子序列问题(LIS).给定n个整数,按从左到右的顺序选出尽量多的整数,组成一个上升子序列(子序列可以理解为:删除0个或多个数,其他数的顺序不变).例如序列1, 6, 2, 3, 7, ...

  4. Activity调用静态方法改变UI,使用Handler来改变UI显示

    本人菜鸟,请各位多多指点,不足之处,请斧正.没啥技术含量,就权当丰富下mono for android的小代码. Activity调用静态方法改变UI using System; using Andr ...

  5. eclipse执行上一次结果

    eclipse执行上一次结果,解决方法:Project-clean

  6. bootstrap-sidebar,后台边栏折叠功能

    http://www.solutiisoft.com/bootstrap-sidebar/index.php

  7. 解决Django站点admin管理页面样式表(CSS style)丢失

    参照这篇教程激活完django自带服务器的admin管理页面后,照着教程所描述的那样,尝试打开http://127.0.0.1:8000/admin/,发现自己的浏览器显示如下 很明显可以看出,虽然业 ...

  8. ASP.NET 5系列教程 (一):领读新特性

    近期微软发布了ASP.NET 5.0,本次发布的新特性需求源于大量用户的反馈和需求,例如灵活的跨平台运行时和自主部署能力使ASP.NET应用不再受限于IIS.Cloud-ready环境配置降低了云端部 ...

  9. 可在广域网部署运行的QQ高仿版 -- GG叽叽V3.5,增加自拍头像功能、细节优化(源码)

    距离上次发版本(GG叽叽V3.4,增加系统设置.最近联系人.群功能)又有1个月了,在这个月内,由于空闲时间不是很多,所以,GG增加的主要功能只是拍照并设定其为自己头像.修改密码.删除好友.以及一些bu ...

  10. Do带你解析:原生APP与web APP的区别

    对于DeviceOne原生跨平台APP与WEB APP的区别,很多人还不是很清楚,下面就让小编来简单介绍DeviceOne原生APP的功能以及与WEB APP的区别. 定义,什么是原生APP和web ...