mysql

1.IFNULL() 函数用于判断第一个表达式是否为 NULL,
如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。

2.case有两种语法,case value when, case when, 别忘了END结尾;
返回值:then匹配到的值或else值,如果没有匹配到也没有else则返回NULL;
-- 'one'
mysql> SELECT CASE 1 WHEN 1 THEN 'one' WHEN 2 THEN 'two' ELSE 'more' END;

-- 'true'
mysql> SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END;

-- NULL 
mysql> SELECT CASE BINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;

Java操作导出excel的三种方法,POI、easyExcel、Hutool使用方法

我们可能只希望看到Store_Information数据表中销售总额超过1500美圆的商店的信息,这时我们就需要使用HAVING从句。
SELECT store_name, SUM(sales)

FROM Store_Information

GROUP BY store_name

HAVING SUM(sales) > 1500

mysql order by 顺序_mysql group by order by 执行顺序
写的顺序:select ... from... where.... group by... having... order

IF函数根据条件的结果为true或false,返回第一个值,或第二个值
IF(condition, value_if_true, value_if_false)

IFNULL(expr1,expr2)
如果 expr1 不是 NULL,IFNULL() 返回 expr1,否则它返回 expr2。

mysql 怎么查询一年的数据
select * from 表 where date_format(日期,'%Y-%m-%d')='2014-04-01' 日期
select * from 表 where date_format(日期,'%Y-%m')='2014-04' 月份
select * from 表 where date_format(日期,'%Y')='2014' 年
就是date_format(日期,'%Y-%m-%d') 这里的参数长短


在mysql中,round函数用于数据的四舍五入,它有两种形式:


1、round(x,d)  ,x指要处理的数,d是指保留几位小数

这里有个值得注意的地方是,
d可以是负数,这时是指定小数点左边的d位整数位为0,同时小数位均为0;

2、round(x)  
,其实就是round(x,0),也就是默认d为0;

mapping.xml 中 insert 语句写成一次性插入一个 1000 的 list
<insert id="insertBatch" >
    insert into person ( <include refid="Base_Column_List" /> ) 
    values 
    <foreach collection="list" item="item" index="index" separator=",">
        (null,#{item.name},#{item.sex},#{item.address})
    </foreach>
</insert>
参数解释:
foreach 的主要作用在构建 in 条件中,它可以在 sql 语句中进行迭代一个集合。
foreach 元素的属性主要有 collection,item,separator,index,open,close。


collection:指定要遍历的集合。
表示传入过来的参数的数据类型。该属性是必须指定的,要做 foreach 的对象。
在使用 foreach 的时候最关键的也是最容易出错的就是 collection 属性。
在不同情况 下,该属性的值是不一样的,主要有一下 
3 种情况:
a. 如果传入的是单参数且参数类型是一个 List 的时候,collection 属性值为 list。

b. 如果传入的是单参数且参数类型是一个数组的时候,collection 的属性值为 array。

c. 如果传入的参数是多个的时候,就需要把它们封装成 Map,
当然单参数也可以封装成 Map。Map 对象没有默认的键。


item:表示集合中每一个元素进行迭代时的别名。
将当前遍历出的元素赋值给指定的变量,然后用#{变量名},就能取出变量的值,也就是当前遍历出的元素。


separator:表示在每次进行迭代之间以什么符号作为分隔符。select * from tab where id in(1,2,3)相当于1,2,3之间的","


index:索引。index 指定一个名字,用于表示在迭代过程中,每次迭代到的位置。遍历 list 的时候 index 就是索引,
遍历 map 的时候 index 表示的就是 map 的 key,item 就是 map 的值。


open/close:表示该语句以什么开始/结束。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值