业务实战中如何利用MySQL函数来解决

2023-11-18

随着我们业务越来越复杂的情况下,完全基于java后台来解决首先是很麻烦,而且性能带来降低,代码的可读性下降,这个时候就需要一些MySQL的函数来解决了,这篇文章对于常见的MySQL函数不予介绍

concat函数

使用方法:
CONCAT(str1,str2,…)
返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL,不是“NULL”

注意:

如果所有参数均为非二进制字符串,则结果为非二进制字符串。
如果自变量中含有任一二进制字符串,则结果为一个二进制字符串。
一个数字参数被转化为与之相等的二进制字符串格式;若要避免这种情况,可使用显式类型 cast, 例如:

SELECT CONCAT(CAST(int_col AS CHAR), char_col)

MySQL的concat函数可以连接一个或者多个字符串,如

mysql> select concat('10');
+--------------+
| concat('10') |
+--------------+
| 10  |
+--------------+
1 row in set (0.00 sec)
 
mysql> select concat('11','22','33');
+------------------------+
| concat('11','22','33') |
+------------------------+
| 112233 |
+------------------------+
1 row in set (0.00 sec)

MySQL的concat函数在连接字符串的时候,只要其中一个是NULL,那么将返回NULL

mysql> select concat('11','22',null);
+------------------------+
| concat('11','22',null) |
+------------------------+
| NULL  |
+------------------------+
1 row in set (0.00 sec)

ON DUPLICATE KEY UPDATE语句

使用情况:

   当我们要向数据库中插入一条数据时,我们需要保证主键的唯一性。
   如果插入的数据主键不重复,那么就插入;如果主键已存在(重复),那么就执行update之后的语句。

Insert into buyer(buyer_id,buyer_sex,buyer_name,buyer_address) 
VALUES(2,'女','Alice','testaddress2') 
ON DUPLICATE KEY UPDATE buyer_id=buyer_id+1

多句使用(直接加逗号)
SQL语句,我们在update后添加性别的修改

Insert into buyer(buyer_id,buyer_sex,buyer_name,buyer_address) 
VALUES(3,'女','Alice','testaddress2') 
ON DUPLICATE KEY UPDATE buyer_id=buyer_id+1,buyer_sex='无'

	<insert id="updateSubModelPartOrder">
		INSERT INTO `vehicle_sub_model_part` (
		    `id`,model_id,sub_model_id,part_id,part_type_code,part_type_order,part_order,domain_code
		)
		VALUES
		<foreach collection="list" index="index" item="item" separator=",">
			(
			   #{item.id},
			   #{item.modelId},
			   #{item.subModelId},
			   #{item.partId},
			   #{item.partTypeCode},
			   #{item.partTypeOrder},
			   #{item.partOrder},
			   #{domainCode}
			)
		</foreach>
		ON DUPLICATE KEY UPDATE part_type_order=values(part_type_order),part_order=values(part_order)
	</insert>

concat_ws函数

使用方法:
CONCAT_WS(separator,str1,str2,…)

CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。
注意:
如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。

如连接后以逗号分隔

使用方法:
CONCAT_WS(separator,str1,str2,...)

CONCAT_WS() 代表 CONCAT With Separator ,是CONCAT()的特殊形式。第一个参数是其它参数的分隔符。分隔符的位置放在要连接的两个字符串之间。分隔符可以是一个字符串,也可以是其它参数。
注意:
如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。

如连接后以逗号分隔

和MySQL中concat函数不同的是, concat_ws函数在执行的时候,不会因为NULL值而返回NULL

mysql> select concat_ws(',','11','22',NULL);
+-------------------------------+
| concat_ws(',','11','22',NULL) |
+-------------------------------+
| 11,22 |
+-------------------------------+
1 row in set (0.00 sec)
    <sql id="queryPartTypeList_common">
        <where>
            t.domain_code=#{domainCode,jdbcType=VARCHAR}
            <if test="partTypeCode !=null and partTypeCode != '' ">
                AND t.`part_type_code`=#{partTypeCode,jdbcType=VARCHAR}
            </if>
            <if test="searchText !=null and searchText != '' ">
                AND INSTR(CONCAT_WS( " " , t.`part_type_name`, t.`part_type_code`),#{searchText})
            </if>
        </where>
    </sql>

group_concat函数

完整的语法如下:
group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator ‘分隔符’])
基本查询

mysql> select * from aa;
+------+------+
| id| name |
+------+------+
|1 | 10|
|1 | 20|
|1 | 20|
|2 | 20|
|3 | 200  |
|3 | 500  |
+------+------+
6 rows in set (0.00 sec)

以id分组,把name字段的值打印在一行,逗号分隔(默认)

mysql> select id,group_concat(name) from aa group by id;
+------+--------------------+
| id| group_concat(name) |
+------+--------------------+
|1 | 10,20,20|
|2 | 20 |
|3 | 200,500|
+------+--------------------+
3 rows in set (0.00 sec)

以id分组,把name字段的值打印在一行,分号分隔

mysql> select id,group_concat(name separator ';') from aa group by id;
+------+----------------------------------+
| id| group_concat(name separator ';') |
+------+----------------------------------+
|1 | 10;20;20 |
|2 | 20|
|3 | 200;500  |
+------+----------------------------------+
3 rows in set (0.00 sec)

以id分组,把去冗余的name字段的值打印在一行

mysql> select id,group_concat(distinct name) from aa group by id;
+------+-----------------------------+
| id| group_concat(distinct name) |
+------+-----------------------------+
|1 | 10,20|
|2 | 20  |
|3 | 200,500 |
+------+-----------------------------+
3 rows in set (0.00 sec)

以id分组,把name字段的值打印在一行,逗号分隔,以name排倒序

mysql> select id,group_concat(name order by name desc) from aa group by id;
+------+---------------------------------------+
| id| group_concat(name order by name desc) |
+------+---------------------------------------+
|1 | 20,20,10  |
|2 | 20|
|3 | 500,200|
+------+---------------------------------------+
3 rows in set (0.00 sec)

repeat()函数

用来复制字符串,如下’ab’表示要复制的字符串,2表示复制的份数

mysql> select repeat('ab',2);
 
+----------------+
| repeat('ab',2) |
+----------------+
| abab      |
+----------------+
 
1 row in set (0.00 sec)

又如

mysql> select repeat('a',2);
 
+---------------+
| repeat('a',2) |
+---------------+
| aa      |
+---------------+
1 row in set (0.00 sec)

MySQL以逗号隔开的字符串查询方式整理

单个值查询使用函数进行处理,FIND_IN_SET()实用

SELECT * FROM `by_info` WHERE FIND_IN_SET('7',type_id);

多个值模糊查询,使用正则,此方式相当于 ( LIKE ‘%1%’ OR LIKE ‘%2%’ OR LIKE ‘%5%’ )

SELECT * FROM `by_info` WHERE type_id REGEXP '(1|2|5)';

多个值匹配查询,使用正则,此方式相当于 ( FIND_IN_SET(‘1’,type_id) OR FIND_IN_SET(‘2’,type_id) OR FIND_IN_SET(‘5’,type_id) )

SELECT * FROM `by_info` WHERE type_id REGEXP '(^|,)(1|12|5|9)(,|$)';

PS:对于第二、三中情况的话 ,缺点就是只能传一个参数去匹配/模糊匹配多条记录,但是有时候传值是a,b这么办呢,这样说,现在表里有个字段是这样的
比如table1中有两条记录
name no
a 2,9
b 8,10

然后有一串字符串,是0,1,2,3,4

然后通过一条sql,找出no为2,9的记录来```

因为字符串中有2,数据中也有2

详细解释

表的字段就是
name no
a 2,9
b 8,10
字符串是str=“0,1,2,3,4”
接下来就是查 no字段里跟str里有交集的记录
查询的结果就是name=a的,no=2,9的记录。

select * from table1 where  

concat(',',no,',') regexp concat(',0,|,1,|,2,|,3,|,4,');

或者

select * from table1 where

concat(',',no,',') regexp concat(',(',replace('0,1,2,3,4',',','|'),'),');

但是你也可以使用第一种FIND_IN_SET函数实现

mysql FIND_IN_SET 多值查询

FIND_IN_SET 一般都是单个查一个逗号分隔字段的,

比如

FIND_IN_SET('a','a,b,c')

如果要查出a,b这种值就不行了

用OR的方法解决,下边这个mybatis没试验过,等有空再试试,先记录下解决思路

1=1 AND (
<foreach collection="item.ids.split(',')" item="aaa" index="index" open="OR" close="" eparator="">
  FIND_IN_SET(#{aaa},'a,b,c')
</foreach>

比如有一个tag表,然后另一张表中有一个 多个tagId逗号分隔的字段,想查出多个tag的名字,用逗号分隔

SELECT a.tagIds,
(SELECT GROUP_CONCAT(b.tag_name) FROM tag b WHERE FIND_IN_SET(b.tag_id,a.tag_ids)) tagNames 
FROM article a

mysql 拆分逗号分隔的字段,并统计

mysql 拆分逗号分隔的字段,并统计

IFNULL

IFNULL(expr1,expr2)的用法:

假如expr1 不为 NULL,则 IFNULL() 的返回值为 expr1;
否则其返回值为expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境。如下图所示:
在这里插入图片描述
在这里插入图片描述

注意:当整条sql返回的结果记录数为:0 ,它会返回 null

在这里插入图片描述

IF函数

IF函数语法如下:

IF(expr,if_true_expr,if_false_expr)

IF函数通常与SUM()函数组合

SELECT
    SUM(IF(status = 'Shipped', 1, 0)) AS Shipped,
    SUM(IF(status = 'Cancelled', 1, 0)) AS Cancelled
FROM
    orders;

IF函数与COUNT()函数组合,因为COUNT函数不计算空值,所以如果状态不在选定状态,IF函数将返回NULL,否则将返回1

SELECT
    COUNT(IF(status = 'Cancelled', 1, NULL)) Cancelled,
    COUNT(IF(status = 'Disputed', 1, NULL)) Disputed,
    COUNT(IF(status = 'In Process', 1, NULL)) 'In Process',
    COUNT(IF(status = 'On Hold', 1, NULL)) 'On Hold',
    COUNT(IF(status = 'Resolved', 1, NULL)) 'Resolved',
    COUNT(IF(status = 'Shipped', 1, NULL)) 'Shipped'
FROM
    orders;

CASE WHEN 和 SUM组合使用

    <select id="countCommentThumbs" resultType="com.izkml.mlyun.partybuilding.response.PartyTopicStaffResponse$Counts">
       SELECT SUM(CASE WHEN a.is_comment=1 THEN 1 ELSE 0 END) AS comments,
       SUM(CASE WHEN a.is_thumbs_up=1 THEN 1 ELSE 0 END) AS thumbs
       FROM party_topic_staff a WHERE a.topic_id = #{topicId}
    </select>
    <select id="getDataCenterSummaryDetail" resultType="com.izkml.energy.data.response.DataCenterinfoResponse$DataCenterSummaryDetail">
        SELECT dic_type.`name`,center.report_year,
			SUM(JFSL) AS JFSL,
			SUM(JFJZMJ) AS JFJZMJ,
			SUM(JGZSL) AS JGZSL,
			SUM(SBZGL) AS SBZGL,
			SUM(ITSBGL) AS ITSBGL,
			SUM(KQTJSBGL) AS KQTJSBGL,
			SUM(PDJFSSBGL) AS PDJFSSBGL,
			SUM(UPSZJRL) AS UPSZJRL,
			SUM(ZYDL) AS ZYDL,
			SUM(ITSBYDL) AS ITSBYDL,
			SUM(KQTJSBYDL) AS KQTJSBYDL,
			SUM(PDJFSSBYDL) AS PDJFSSBYDL,
			SUM(OtherValue) AS OtherValue
		FROM sys_data_centerinfo center,sys_dic_type dic_type
		WHERE center.is_summary = 0
		and center.unit_type= #{unitType}
		and center.unit_type = dic_type.`code`
		and center.unit_id IN
		<foreach collection="unitIds" open="(" close=")" index="index" item="item" separator=",">
			#{item}
		</foreach>
        and center.logic_delete="NO"
        and center.report_year = #{reportYear}
    </select>

@rownum函数

语句:

SELECT @rownum:=@rownum+1 AS rownum, Orderstate.*
FROM (SELECT @rownum:=0) r, Orderstate ;

执行结果:
在这里插入图片描述
SELECT @rownum:=0这个就相当于临时表,这个一定要加,如果不加,每次只需sql这个rownum就不是从0开始而是自增的

语句:

SELECT
        t.id examinationResultId,
        t.examination_id,
        t.staff_id,
        t.real_name,
        t.org_name,
        t.start_time,
        t.end_time,
        t.score,
        t. STATUS,
        (@r0 := @r0 + 1) AS rank1,
        @r1 := IF (@r3 = score ,@r1 ,@r0) AS rank,
        @r3 := score
FROM
        (
                SELECT
                        examination_id,
                        staff_id,
                        real_name,
                        org_name,
                        start_time,
                        end_time,
                        score,
                        STATUS,
                        id,
                        UNIX_TIMESTAMP(end_time) - UNIX_TIMESTAMP(start_time) AS costTime
        FROM
                examination_result
        WHERE
                examination_id = 'SvV7mgbknHX79EbJF53'
        ORDER BY
                score DESC,
                costTime ASC
        ) t,
        (SELECT @r0 := 0) AS rn,
        (SELECT @r1 := 0) AS c,
        (SELECT @r3 := NULL) AS d

mysql不存在则插入,存在则更新或忽略

表名称:employee
表字段:
在这里插入图片描述
初始表数据:
在这里插入图片描述
注:以下所有的示例都需要被插入的数据中需要存在UNIQUE索引或PRIMARY KEY字段

不存在则插入,存在则更新-on duplicate key update

如果插入的数据会导致UNIQUE 索引或PRIMARY KEY发生冲突/重复,则执行UPDATE语句,例:

INSERT INTO `employee` (`id`, `name`, `age` )
VALUES
	( 2,'wujf', 20 ) 
ON DUPLICATE KEY UPDATE `age` = 18;

-- Affected rows: 2

这里受影响的行数是2,因为数据库中存在name='wujf’的数据,如果不存在此条数据,则受影响的行数为1
最新的表数据如下:
在这里插入图片描述

不存在则插入,存在则更新-replace into

如果插入的数据会导致UNIQUE 索引或PRIMARY KEY发生冲突/重复,则先删除旧数据再插入最新的数据,例:

REPLACE INTO `employee` ( `id`, `name`, `age` )
VALUES
	( 2, 'wujf', 20 );
	
-- Affected rows: 2

这里受影响的行数是2,因为数据库中存在name='wujf’的数据,并且id的值会变成2,因为它是先删除旧数据,然后再插入数据,最新的表数据如下:
在这里插入图片描述

避免重复插入-insert ignore into

关键字:insert ignore into,如果插入的数据会导致UNIQUE索引或PRIMARY KEY发生冲突/重复,则忽略此次操作/不插入数据,例:

INSERT IGNORE INTO `employee` ( `id`, `name`, `age` )
VALUES
	( 3, 'wujf', 25 );

-- Affected rows: 0

这里已经存在name='wujf’的数据,所以会忽略掉新插入的数据,受影响行数为0,表数据不变。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

业务实战中如何利用MySQL函数来解决 的相关文章

  • Mysql带限制的删除语句

    我试图从表中删除行 但出现错误 DELETE FROM chat messages ORDER BY timestamp DESC LIMIT 20 50 我在 50 时收到此错误 您的 SQL 语法有错误 检查与您的 MySQL 服务器版
  • 支持 >65k 行的 Excel VBA SQL 驱动程序

    在 Excel 2010 中通过 VBA 查询 Excel 数据时 我遇到一个有趣的问题 我正在使用这些驱动程序连接到 xls 或 xls x m 文件 Sub OpenCon ByRef theConn As Connection ByV
  • jdbc4.MySQLSyntaxErrorException:数据库中不存在表

    我正在使用 SpringBoot 开发一个网络应用程序 这是我的application properties文件来指定访问数据库的凭据 spring datasource driverClassName com mysql jdbc Dri
  • MySQL:如何仅获取正值的平均值?

    假设我有 INT 列 并且我使用 1 来表示插入时没有可用数据 我想获得该列中所有 0 或更大值的平均值 这可能吗 Thanks 我忘了提及 我正在与其他 AVG 一起执行此操作 因此从选项卡中选择 avg a avg b avg d 所以
  • SQL Server 中的 FIFO 查询

    我正在构建一个库存管理应用程序c with SQL server 我想做一个FIFO从我的表查询 我以可变价格购买了相同的产品 之后我卖掉了其中一些 我想根据 先进先出 进行查询BatchDate柱子 所以我想通过PurchasePrice
  • 更改表添加列并在同一条件 IF 语句中更新新列

    我正在尝试添加列并在同一 if 语句中更新它 BEGIN TRAN IF NOT EXISTS SELECT 1 FROM sys columns WHERE Name N Code AND Object ID Object ID N Te
  • 计算2个日期之间每个日期的记录数

    我必须创建一个查询来返回多轴图表的结果 我需要计算为 2 个日期之间的每个日期创建的 ID 数量 我试过这个 DECLARE StartDate datetime2 7 11 1 2020 EndDate datetime2 7 2 22
  • 查看Jasper报告执行的SQL

    运行 Jasper 报表 其中 SQL 嵌入到报表文件 jrxml 中 时 是否可以看到执行的 SQL 理想情况下 我还想查看替换每个 P 占位符的值 Cheers Don JasperReports 使用 Jakarta Commons
  • 无法连接到 MAMP 上的 phpMyAdmin

    我收到此错误消息 MySQL 说道 无法连接 设置无效 phpMyAdmin 尝试连接 MySQL 服务器 但服务器拒绝连接 您应该检查配置中的主机 用户名和密码 并确保它们与 MySQL 服务器管理员提供的信息相对应 用户和通行证是默认的
  • mysql 不带空字符串和 NULL 的不同值

    如何检索没有空字符串值和NULL值的mysql不同值 SELECT DISTINCT CON EMAILADDRESS AS E MAIL FROM STUDENT INNER JOIN CONTACT CON ON STUDENT CON
  • 防止 Propel 插入空字符串

    当未设置列时 如何防止 Propel ORM 插入空字符串 CREATE TABLE user uid INTEGER PRIMARY KEY AUTO INCREMENT email VARCHAR 255 NOT NULL UNIQUE
  • CakePHP 查找 - 按字符串到整数排序?

    我想使用 CakePHP 从数据库中提取照片数组 按照片标题排序 0 1 2 3 我的查询当前看起来像 ss photos this gt Asset gt find all array conditions gt array kind g
  • 来自数据库的 jfreechart 散点图

    如何使用java中的jfreechart绘制mysql数据库表中数据的散点图 我使用过 Swing 库 任何链接都会有帮助 我搜索了谷歌但找不到理解的解决方案 如果您有代码 请提供给我 实际上我确实做了条形图并使用 jfreechart 绘
  • 奇怪的 MySQL Python mod_wsgi 无法连接到 'localhost' (49) 上的 MySQL 服务器问题

    StackOverflow上也有类似的问题 但我还没有发现完全相同的情况 这是在使用 MySQL 的 OS X Leopard 机器上 一些起始信息 MySQL Server version 5 1 30 Apache 2 2 13 Uni
  • 重用 t-sql 游标的起始位置?

    我正在开发一个在临时表上使用游标的存储过程 我已经阅读了一些关于为什么不需要游标的内容 但在这种情况下我相信我仍然需要使用游标 在我的过程中 我需要遍历表的行两次 声明游标后 已经单步执行临时表并关闭游标 重新打开时游标的位置是否仍保留在表
  • SQL Server:如果存在会大大减慢查询速度

    正在使用SQL Server 2012 我找到了一些关于查询优化的主题 并将 EXISTS 与 COUNT 进行比较 但我找不到这个确切的问题 我有一个看起来像这样的查询 select from tblAccount as acc join
  • 选择获取与 MySQL Group 中 max 对应的整行

    当我使用Max使用后查找特定 MySQL 组中字段的最大值GROUP BY 是否可以获取包含最大值的整行 我在处理一些论坛代码时偶然发现了这个线程 我想获取每个线程的最新帖子并将其显示在特定板的线程列表中 Quassnoi上面的回答对我非常
  • 查询为空 Node Js Sequelize

    我正在尝试更新 Node js 应用程序中的数据 我和邮递员测试过 我的开发步骤是 从数据库 MySQL 获取ID为10的数据进行更新 gt gt 未处理的拒绝SequelizeDatabaseError 查询为空 我认识到 我使用了错误的
  • Oracle REGEXP_INSTR() 和“a-z”字符范围与预期不匹配

    我想用REGEXP INSTR 在 oracle 数据库中检查小写 大写字符 我知道 upper and lower POSIX 字符类 但我选择了a z这给了我非常奇怪的结果 我不明白 有人可以解释一下吗 SELECT REGEXP IN
  • 替换字符串中的多个字符,而不使用任何嵌套替换函数

    我的表中存储了一个方程 我一次获取一个方程 并希望将所有运算符替换为任何其他字符 输入字符串 N 100 6858 6858 N 100 0 2 N 35 运算符或模式 替换字符 输出字符串 N 100 6858 6858 N 100 0

随机推荐

  • 【Mo 人工智能技术博客】图卷积网络概述及其在论文分类上的应用

    近年来 深度学习在计算机视觉 自然语言处理等领域大放异彩 这些领域所面对的数据都是结构化的 如图像 音频 文本等 它们内部都有明确的排列规则 结构化的数据由于具有这些确定的规则而方便处理 但是在现实生活中 非结构化的关系数据才是主流 我们无
  • Ubuntu 18.04换国内源 中科大源 阿里源 163源 清华源

    国内有很多Ubuntu的镜像源 包括阿里的 网易的 还有很多教育网的源 比如 清华源 中科大源 我们这里以中科大的源为例讲解如何修改Ubuntu 18 04里面默认的源 编辑 etc apt sources list文件 在文件最前面添加以
  • 华为OD机试 - 跳格子1(Java)

    题目描述 小明和朋友玩跳格子游戏 有 n 个连续格子 每个格子有不同的分数 小朋友可以选择以任意格子起跳 但是不能跳连续的格子 也不能回头跳 给定一个代表每个格子得分的非负整数数组 计算能够得到的最高分数 输入描述 给定一个数列 如 1 2
  • 3D游戏设计大作业

    Unity大作业 粒子系统效果 一 前言 1 此篇文章记录了2022年第二学期中山大学软件工程3D游戏与编程的大作业 本次大作业可选择范围众多 最终我选择了粒子系统效果作为了本次大作业的主题 2 一个粒子系统可以模拟并渲染许多称为粒子的小图
  • CRC校验总结

    事实上网上很多CRC校验算法 在接收端进行CRC校验时 余数不为零 这往往是因为CRC校验算法本身是有问题的 但不妨碍我们进行校验 接收端可以对需要校验的字段带入CRC校验算法 计算得到校验值 并与发送数据中的校验值进行比较 如果两者相等
  • 生信技能树R语言学习

    一 数据类型和向量 1 数据类型 1 1 判断数据类型class 1 2 按Tab键自动补全 1 3 数据类型的判断和转换 1 is 族函数 判断 返回值为TRUE或FALSE is numeric 123 is character a i
  • 32位/64位WINDOWS驱动之-突破进程保护映射的方法进行跨进程读内存2

    32位 64位WINDOWS驱动之 突破进程保护映射的方法进行跨进程读内存2 一 在过保护读写筛选器中添加 读写驱动2 c 驱动层 代码如下 include
  • 黑马头条 热点文章实时计算、kafkaStream

    热点文章 实时计算 1 今日内容 1 1 定时计算与实时计算 1 2 今日内容 kafkaStream 什么是流式计算 kafkaStream概述 kafkaStream入门案例 Springboot集成kafkaStream 实时计算 用
  • cout 格式化输出

    将 cout 的 flag 保存到变量 以便修改后的恢复 ostream fmtflags old cout flag 无参将返回当前 flag 值 cout flag old 恢复到原先保存的值 将 bool 值以 literals 输出
  • 第六章课后习题及答案

    第六章习题答案 转载于 https www cnblogs com hhdn archive 2007 05 27 761356 html
  • Mysql字段设置默认值

    方法一 select 默认值 字段名 from 表名 方法二 SELECT 默认值 as 字段名 FROM 表名 以上方法 将默认值和表名互换 则可以产生给表名去别名的作用
  • 计算分组后的记录行数(count group)

    小弟有这样一个问题 想用hql计算分组之后的总记录行数 语句如 from aTable a left outer join bTable b group by a f1 b f1 现在要计算它的总记录数 select count from
  • 对useReducer的理解

    useReducer是React提供的一个高级Hook 它不像useEffect useState useRef等必须hook一样 没有它我们也可以正常完成需求的开发 但useReducer可以使我们的代码具有更好的可读性 可维护性 可预测
  • Android通用流行框架大全,零基础入门学习android

    Picasso transformations 一个为Picasso提供多种图片变换的库 Glide transformations 一个为Glide提供多种图片变换的库 Android gpuimage 基于OpenGL的Android过
  • Jenkins持续集成项目实践 —— 基于Python Selenium自动化测试(二)

    上一篇讲了如何搭建jenkins 这篇主要讲 怎么将自动化代码与jenkins衔接起来 jenkins上运行的两种方式 第一种 在jenkins上面运行本地代码 操作如下 新建项目 项目名称根据自己项目情况填写并选择自由模式 进行配置根据如
  • LaTeX中插入matlab代码(可添加中文注释)的几种方法

    最近在用LaTeX写文件时 需要插入matlab代码 但是matlab代码编写时没有注意到注释为中文所带来的不便 导致在编写LaTeX文件时总是报错 经查阅网上有关这方面的资料和自己不断地尝试之后 总结其中的方法如下 使用matlab的mc
  • 【满分】【华为OD机试真题2023 JS】字母组合

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 字母组合 知识点回溯 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 每个数字对应多个字母 对应关系如下 0 a b c 1 d e f 2 g h i 3 j
  • Android MVP 详解(上)

    作者 李旺成 时间 2016年4月3日 Android MVP 详解 下 已经发布 欢迎大家提建议 MVP 在 Android 上的使用其实已经有挺长一段时间了 长到似乎有点 过时 了 目前风头正劲的是MVVM 那为什么现在还要讲 MVP
  • tf.nn.atrous_conv2d如何实现空洞卷积?

    转载自 https blog csdn net mao xiao feng article details 78003730 介绍 关于空洞卷积的理论可以查看以下链接 这里我们不详细讲理论 1 Long J Shelhamer E Darr
  • 业务实战中如何利用MySQL函数来解决

    随着我们业务越来越复杂的情况下 完全基于java后台来解决首先是很麻烦 而且性能带来降低 代码的可读性下降 这个时候就需要一些MySQL的函数来解决了 这篇文章对于常见的MySQL函数不予介绍 concat函数 使用方法 CONCAT st