一、 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. Swift - mutating关键字的使用

    转载自:http://www.jianshu.com/p/14cc9d30770a  感谢作者:此ID想了很久 Swift中protocol的功能比OC中强大很多,不仅能再class中实现,同时也适用 ...

  2. linux下的基本操作

    1.怎么在Ubuntu下安装flash插件 2.Ubuntu14.04安装wineqq国际版 注: 安装包wine-qqintl下载 在/usr/share/applications/下可找到国际版q ...

  3. java程序操作Geometry对象

    Geometry 空间地理对象,Oracle中存储Geometry对象的字段类型是 MDSYS.SDO_GEOMETRY,在数据库中构建Geometry对象的方法: v_pointarray MDSY ...

  4. java学习:ArrayList的实现及原理

    1. ArrayList概述: ArrayList是List接口的可变数组的实现.实现了所有可选列表操作,并允许包括 null 在内的所有元素.除了实现 List 接口外,此类还提供一些方法来操作内部 ...

  5. 20151013 C# 第一篇 流程控制语句

    20151013 流程控制语句: 1.选择语句 if … else if...else 选择语句 if(布尔表达式){  语句块:} if(布尔表达式){  语句块1:}else{  语句块2:} i ...

  6. zabbix利用mutt和msmtp配置邮件报警

    Mutt安装 yum –y install mutt msmtp安装 yum –y install openssl openssl-devel libntlm libntlm-devel cyrus- ...

  7. 访问控制public/protected/private的区别

    Java支持四种不同的访问权限: 修饰符 说明 public 共有的,对所有类可见. protected 受保护的,对同一包内的类和所有子类可见. private 私有的,在同一类内可见. 默认的 在 ...

  8. Java生成不重复的数的方法

    在开发时要给某些表加上编号,而且编号是唯一的,自己用时间生成了下,觉得可能存在并发情况.所以在网上查了一下,就是随机生成.方法如下: //方法一(用当前时间精确到毫秒,截取任意几位) Date dat ...

  9. chrome插件开发-消息机制中的bug与解决方案

    序言 最近开发chrome插件,涉及到消息传递机时按照教程去敲代码,结果总是不对.研究了大半天终于找到原因,现在记录下. 程序 插件程序参考官网 chrome官网之消息传递机制, 不能FQ的同事也可以 ...

  10. javascript replace正则替换时调用函数替换的使用

    以下函数将替换英文方式下的单引号和双引号,当然change函数编写决定了你要替换什么? String.prototype.repSpecChar=function()      {           ...