mysql xml 语法使用汇总 (获取值保留指定位小数,根据一定的条件获取值.......)
TRUNCATE(X,D)
此函数用于返回X的截断到小数位D号的值。 如果D为0,则小数点被除去。如果D是负的,那么D的值的整数部分值的数量被截断。考虑下面的例子:
SQL>SELECT TRUNCATE(7.536432,2);
+---------------------------------------------------------+
| TRUNCATE(7.536432,2) |
+---------------------------------------------------------+
| 7.53 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
case when ... then ...
case when d.generating_capacity >= 0 and d.generating_capacity <= 10 then 10 when d.generating_capacity > 10 and d.generating_capacity <= 20 then 20 when d.generating_capacity > 20 and d.generating_capacity <= 30 then 30 when d.generating_capacity > 30 and d.generating_capacity <= 40 then 40 when d.generating_capacity > 40 and d.generating_capacity <= 50 then 50 when d.generating_capacity > 50 and d.generating_capacity <= 60 then 60 when d.generating_capacity > 60 and d.generating_capacity <= 70 then 70 when d.generating_capacity > 70 and d.generating_capacity <= 80 then 80 when d.generating_capacity > 80 and d.generating_capacity <= 90 then 90 when d.generating_capacity > 90 and d.generating_capacity <= 100 then 100 <!-- when d.generating_capacity > 100 then 11 --> end as byGroup
注意 <= 需要用 <= 代替
LENGTH(str)
返回字符串str的长度,以字节为单位。 一个多字节字符算作多字节。这意味着,对于包含五个二字节字符,length()返回10,而CHAR_LENGTH()返回5。
SQL> SELECT LENGTH('text');
+---------------------------------------------------------+
| LENGTH('text') |
+---------------------------------------------------------+
| 4 |
+---------------------------------------------------------+
1 row in set (0.00 sec)
concat(str1, str2,...)
返回结果为连接参数产生的字符串,如果有任何一个参数为null,则返回值为null。
company like concat('%', #{powerStation}, '%')
UNION——操作符用于合并两个或多个 SELECT 语句的结果集。(注:UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。)
UNION 语法
SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2
UNION 操作符选取不同的值。如果允许有重复的值,请使用 UNION ALL
2.UNION ALL 语法:会列出所有重复的值。
SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2
UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
<where>
<select id="selectIfCondition" resultType="com.heiketu.testpackage.pojo.Product"> SELECT prod_id prodId, vend_id vendId, prod_name prodName, prod_desc prodDesc FROM Products <where> <if test="prodId != null and prodId != ''"> AND prod_id = #{prodId} </if> <if test="prodName != null and prodName != ''"> AND prod_name = #{prodName} </if> </where></select>
where
and
or
prodId
where
and
SELECT prod_id prodId, vend_id vendId, prod_name prodName, prod_desc prodDescFROM ProductsWHERE prod_id = ?AND prod_name = ?
<if>
在mybatis的xml文件中编写sql语句有时候需要判断是否为空或者判断某些值的情况,
<if test="pbycgkQuery.cityCode != null and pbycgkQuery.cityCode != ''"> and city_code = #{pbycgkQuery.cityCode} </if>
<foreach>
foreach 也就是遍历迭代,在SQL中通常用在 in 这个关键词的后面
foreach元素的属性主要有 item,index,collection,open,separator,close。
分别代表:
item表示集合中每一个元素进行迭代时的别名,
index用于表示在迭代过程中,每次迭代到的位置,
open表示该语句以什么开始,
separator表示在每次进行迭代之间以什么符号作为分隔 符,
close表示以什么结束
基础用法一:
<select id="selectByIds" resultType="com.txw.pojo.User"> select * from user where id in <foreach collection="list" index="index" item="item" open="(" separator="," close=")"> #{item} </foreach> </select>
基础用法二:
select schedule_scope_name label, sum(generating_capacity) value from distribsun_station_list <where> <foreach collection="countys" index="index" item="county" open="(" separator="or" close=")"> schedule_scope_name LIKE CONCAT('%', #{county}, '%') <if test="endTime != null and endTime != ''"> and accept_time < #{endTime} </if> </foreach> </where> GROUP BY schedule_scope_name
插入用法:
insert into green_power_intensity_carbon_data ( time, data ) values <foreach collection="list" item="greenPowerIntensityCarbonDataPO" index="index" separator=","> ( #{greenPowerIntensityCarbonDataPO.time}, #{greenPowerIntensityCarbonDataPO.data} ) </foreach>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探