一、 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 文章列表

    Android  --列表-- Android(1)-Handler Looper Message MessageQueuehttp://www.cnblogs.com/TS-qrt/articles ...

  2. Oracle 11g 修改字符集 为 ZHS16GBK

    方法一:sqlplus “用户/密码 as sysdba” sqlplus “sys/sys as sysdba”  方法二:sqlplus/nolog SQL> conn /as sysdba ...

  3. XML转JSON

    Step 1 : 下载 java-json.jar http://www.java2s.com/Code/JarDownload/java/java-json.jar.zip Step 2: 增加 j ...

  4. 手机移动端confirm替换方案

    //弹框 ;(function () { var ConfirmBox = function (options){ this.defaults = { title:"", topT ...

  5. FMDB读取Datetime类型值为1970的问题

    1.问题 今天使用FMDB做一个例子程序,新建的一张表有一个datetime字段,数据库有默认值,大概如下 CREATE TABLE [ConsumptionType] ([id] INTEGER P ...

  6. 【随记】Hello World小记

    今天装Python,如下: 突然想到,到现在,我已经数不清写过多少遍Hello World了. 最早是初一学VB的时候,用Label1在Form1上画一个,然后修改Caption属性为“Hello W ...

  7. 我的iOS之路2

    第一篇果然没人看呢...好吧...那就当笔记做吧...第一篇主要写的是生成了一个helloworld,可能也是和别人撞了,所以有点厌烦,连名字都改掉吧 好,开始写第二篇 之前做第一个应用程序的时候没有 ...

  8. listview选中没有效果

    listview选中没有效果了,设置了android:listselector也没有效果,最后发现是listview中的item布局设置了背景颜色导致,把item的背景色去掉就OK了 http://b ...

  9. 【C++自绘控件】如何用GDI+来显示图片

    在我们制作一个应用软件的时候往往需要在窗口或控件中添加背景图.而图片不仅有BMP格式的,还有JPEG.PNG.TIFF.GIF等其它的格式.那么如何用jpg格式的图片来当背景呢? 这里用到了GDI+, ...

  10. sgdisk常用操作

    与fdisk创建MBR分区一样,sgdisk是一个创建GPT分区的工具,如果你还不了解GPT分区,请参考The difference between booting MBR and GPT with ...