后台开发SQL技术总结

2023-05-16

一、字符串截取

1、substring(str, pos) 用法

从字符串的第 4 个字符位置开始取,直到结束。
mysql> select substring('example.com', 4);
+------------------------------+
| substring('example.com', 4) |
+------------------------------+
| mple.com                   |
+------------------------------+

2、substring(str, pos, len) 用法

注意到在函数 substring(str,pos, len)中, pos 可以是负值,但 len 不能取负值

从字符串的第 4 个字符位置开始取,只取 2 个字符。

mysql> select substring('example.com', 4, 2);
+---------------------------------+
| substring('example.com', 4, 2) |
+---------------------------------+
| mp                              |
+---------------------------------+

从字符串的第 4 个字符位置(倒数)开始取,直到结束。
mysql> select substring('example.com', -4);
+-------------------------------+
| substring('example.com', -4) |
+-------------------------------+
| .com                          |
+-------------------------------+

从字符串的第 4 个字符位置(倒数)开始取,只取 2 个字符。
mysql> select substring('example.com', -4, 2);
+----------------------------------+
| substring('example.com', -4, 2) |
+----------------------------------+
| .c                               |
+----------------------------------+

二、拼接字符串

1、CONCAT(str1,str2,…)函数是用来连接多个字符串,形成一个字符串

mysql> SELECT CONCAT('FIRST ', 'SECOND');
+----------------------------+
| CONCAT('FIRST ', 'SECOND') |
+----------------------------+
| FIRST SECOND               |
+----------------------------+

对于mysql 的 like 而言,一般都要用 like concat() 组合,可以防止sql注入。例如,在mybatis 中
select * from area where  area.name like concat( '%'  ,  '#{name}' , '%' ) ;

2、group_concat( [distinct] 字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’] )
功能: 将group by产生的同一个分组中的值连接起来,返回一个字符串结果。
说明:

  • distinct可以排除重复值;
  • order by子句可以对结果中的值进行排序;
  • separator是一个字符串值,缺省为一个逗号。
将上面的id号从大到小排序,且用'、'作为分隔符::
mysql> SELECT name, group_concat(id order by desc separator '、') from tt2 group by name
+---------+-------------------------------------------------+
| name    | group_concat(id order by desc separator '、')   | 
+---------+-------------------------------------------------+
|  小丽    |    3                                            |
+-----------------------------------------------------------+
|  小明    |    6、5、1                                      |
+-----------------------------------------------------------+
|  小王    |    4、2                                         |
+-----------------------------------------------------------+

三、FIND_IN_SET 函数

SELECT
	B.ID,
	B.CLASSIFY_NAME,
	B.CLASSIFY_TYPE,
	B.IS_ENABLE,
	B.ADATE,
	B.UDATE,
	(
	SELECT
		GROUP_CONCAT( T.`VALUE` SEPARATOR '、' ) 
	FROM
		T_S_PS_DICT T,
		T_B_CASE_DICT_SORT C 
	WHERE
		FIND_IN_SET( T.ID, C.CLASSIFY_DETAIL ) 
		AND C.ID = B.ID 
		AND C.IS_DELETED = '0' 
		AND T.IS_DELETED = '0' 
	) CLASSIFY_DETAIL 
FROM
	T_B_CASE_DICT_SORT B 
WHERE
	B.IS_DELETED = '0' 
ORDER BY
	B.ADATE ASC
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

后台开发SQL技术总结 的相关文章

随机推荐

  • STM32开发记录三: 硬件IIC调试(STHC3温湿度传感器)

    一 STM32 CubeMX配置 I2C4 init function void MX I2C4 Init void hi2c4 Instance 61 I2C4 hi2c4 Init Timing 61 0x20A0C4DF hi2c4
  • openmv中模块解析

    模块解析 1 sensor摄像头模块 xff1a 包含了感光芯片与图像预处理的各项操作 sensor reset 重置并初始化OpenMV sensor set pixformat sensor RGB565 选择颜色空间与像素格式RGB5
  • 视觉SLAM——位姿估计

    看完位姿估计原理过一段时间又忘记了 xff0c 现参考高翔视觉SLAM十四讲做本文笔记 SLAM中的里程计都是基于特征点方式的算法 1 特征匹配 特征匹配是视觉SLAM中极为关键的一步 它解决了数据关联问题 通过图像与图像或图像与地图间描述
  • 工业相机的术语相关

    一 工业相机术语 像素 xff08 pixel xff09 xff1a 图像上的最小组成单元 图像由小方格即像素组成的 xff0c 这些小方块都有一个明确的位置和被分配的色彩数值 xff0c 小方格颜色和位置就决定该图像所呈现出来的样子 像
  • C++学习笔记(二)

    1 C 43 43 简介 参考C 43 43 菜鸟教程 C 43 43 是一种静态的编译式的通用的大小写敏感的不规则的编程语言 xff0c 支持过程编程 对象编程和泛型编程 C 43 43 综合了高级语言和低级语言的特点 xff0c 是一种
  • Ubuntu 16.04 ifconfig输出ens33,不能联网问题的解决

    VM 12 0 ubuntu 16 04 问题 xff1a 在NAT模式下联网的设置见前一个博文 xff0c 又在同一台电脑下安装ubuntun16 04虚拟机 xff0c 不能联网 xff0c 用ifconfig时输出如下 xff1a 并
  • C++:internal compiler error解决

    编绎文件时 xff0c 出现这个问题原因一般就是内存不够 xff0c 若是在虚拟机上 xff0c 关掉虚拟机 xff0c 可直接调节虚拟机内存大小 xff0c 然后重新启动即可
  • Error: Could not find the following Boost libraries:boost_serialization

    Boost 1 59 0 CMake 3 7 2 使用CMake编译时出现以下错误 xff1a 无法找到以下库 xff0c 但是编译好的库中是有libboost serialization libboost system等这些文件的 xff
  • ubuntu下make时对XX未定义的引用

    Q1 库对XX未定义的引用 xff0c 如 xff1a Thirdparty vio g2o lib libvio g2o so xff1a 对 39 IMUErrorModel lt ceres Jet lt double 38 gt g
  • Birch算法介绍

    目录 前言 一 Birch算法基本思想 二 聚类特征CF和CF 树 1 聚类特征CF 2 CF tree 3 CF tree 的生成 三 Birch算法流程 1 birch算法的优化 2 算法优缺点 四 算法实验实例 1 研究不指定簇数的情
  • [转]伪代码的写法

    伪代码的写法 xff08 附 xff1a 12种排序算法详解 xff09 转自 xff1a http blog sina com cn s blog 134451adb0102wfgu html 伪代码 xff08 Pseudocode x
  • linux C++调用python3的程序

    环境 xff1a ubuntu1404 python3 4 3 首先安装对应python不同版本的调用库 sudo apt get install python3 4 dev xff0c python脚本基本不用变 xff0c 在C 43
  • Bug 记录

    Bug记录 CocosCreator打包出现 Error xff1a Program type already present android support v4 os ResultReceiver MyResultReceiver 解决
  • I2C通信

    I2 C 芯片间 总线接口连接微控制器和串行 I 2 C 总线 它提供多主机功能 xff0c 控制所有 I 2 C 总线特定的 时序 协议 仲裁和定时 1 xff0c 物理层 1 IIC是一种两线串行的通信方式 xff0c SCL xff0
  • 使用Mybatis-Plus代码生成器的报错解决

    使用Mybatis Plus的同学 xff0c 在使用代码生成器的时候不知道有没有遇到过这个问题 xff1a 21 36 23 829 main DEBUG com baomidou mybatisplus generator AutoGe
  • Debian之安装完成后找不到命令解决办法

    1 修改配置文件 bashrc vim root bashrc export PATH 61 PATH usr sbin 2 使配置文件生效 source root bashrc
  • 相机标定、双目相机标定(原理)、三维重建效果展示

    1 相机标定的目的 xff1a xff08 1 xff09 通过单目相机标定分别求出左右相机的内参数和外参数 xff08 2 xff09 矫正由于镜头畸变造成的图片的变形 xff0c 例如 xff0c 现实中的直线 xff0c 拍摄成图像后
  • mac系统做openstack qcow2/raw镜像

    1 vmware安装出来虚拟机 xff08 操作系统不拆分 xff09 2 zhangjinyudeMacBook Pro Asianux vmwarevm zhangjinyu ls lh total 2820216 rw 1 zhang
  • 使用 Chrome 获取 Cookie 的数据

    Chrome 浏览器自带的开发功能相当强大 xff0c 这里只使用它的抓包功能 一 在浏览器中打开目标网站并登录 xff0c 进入目标页面 二 在 Chrome 浏览器下方的开发工具中单击 Network 标签页 按 F5 键 xff0c
  • 后台开发SQL技术总结

    一 字符串截取 1 substring str pos 用法 从字符串的第 4 个字符位置开始取 xff0c 直到结束 mysql gt select substring 39 example com 39 4 43 43 substrin