总结SQL相对常用的几个字符函数

news2024/12/25 0:45:10

目录

字符的截取

substr()

trim()、ltrim()、rtrim()

字符串的拼接

||、+

字符的大小写转换

upper('column_name'):大写

lower('column_name'):小写

字符替换

replace()

搜索字符

instr(column_name, 'substring_to_find',start,n_appearence)

charindex('substring_to_find', column_name[,START])

通配符

小例子

rowid


字符的截取

substr()

        在 sqlserver 中是 substring,不过参数一样,但是不能缺少长度,也就不会默认到末尾

select substr('str',start[,length]) from xx

        从 start 开始,截取长度为 lenth 的字符,其中空格长度为1

trim()、ltrim()、rtrim()

SELECT TRIM([ '目标str' from] '源str') FROM xx

        从源 str 两边、左边、右边开始截取目标 str,缺省目标字符串时截取空格

字符串的拼接

||、+

        oracle 中可连接多个字符串,SqlServer 里可以用 + 进行连接

(SqlServer)

(Oracle) 

        除此之外,Oracle 也可用 concat ('str1','str2') 函数拼接,这种方法只能拼接两个字符串

字符的大小写转换

upper('column_name'):大写

lower('column_name'):小写

select * FROM emp;

select lower(job) FROM emp;

 

字符替换

replace()

        将源字符串中的某些字符替换,格式:

select replace('string_expression', string_pattern, string_replacement) from xxx
  • string_expression:要进行替换的字符串,如某一列或某个字串
  • string_pattern:要被替换的 string
  • string_replacement:所进行替换的 string

搜索字符

instr(column_name, 'substring_to_find',start,n_appearence)

  • column_name:列名,可以为字符串
  • substring_to_find:需要搜索的字符串
  • start:搜索的起始位置
  • n_appearence:第n次出现
select instr('abc-def-abc-xyz','-'),
	   instr('abc-def-abc-xyz','-',5),
 	   instr('abc-def-abc-xyz','-',5,2),
	   instr('abc-def-abc-xyz','-',-1)
from dual;

         该函数是在 Oracle 中可以使用的

        比如:第三列 str 中第五位开始查找字符 '-' 第 2 次出现的位置,未找到将返回0,第一个字符下标记为1

charindex('substring_to_find', column_name[,START])

        SqlServer 中可用该方法实现同样效果,但其参数位置不同,且没法限定目标字符出现的次数,最多也只有三个参数

通配符

        是与 LIKE 一起使用进行模糊搜索字符的符号

        %、_:匹配多个或一个字符

SELECT * FROM EMP

SELECT * FROM EMP WHERE JOB LIKE 'M%' [escape 特殊字符]
--注意字符的小写

 

         后面的 escape:

  • 用法一:当字符串本身含有 % 或 _ 时,避免其当做通配符
  • 用法二:当需要剔除某字符(如每个数据都有*号,直接匹配会每个数据都返回),那我可以escape '*' 忽略掉这个字符

        此外,对字符串出现 % 或 _ 也可以用反斜杠 \ 对其忽略

小例子

        对 oracle 中自带的 EMP 表进行字符处理

SELECT emp.*,rowid FROM EMP;

         摘出需要进行替换的字母

SELECT emp.*,substr(rowid,-5) FROM EMP;

        进行替换 

SELECT emp.*,replace(rowid,substr(rowid,-5),'*****') FROM EMP;

rowid

        这个 rowid 是在 oracle 中记录每一行数据在插入数据库时分配的物理地址(是唯一的字符串)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1579469.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SSM框架JAVA仓库管理系统源代码Mysql数据库(可当毕设,实训项目,设计大赛)

仓库管理系统实现的功能包括店铺管理,员工管理,部门管理,商品管理,权限管理,入库管理,出库管理,盘点管理,统计管理等功能。该项目采用了Mysql数据库,Java语言&#xff0c…

龙蜥社区「人人都可以参与开源」一次奇妙的开源之旅

前言: 3月17日,马斯克宣布开源Grok-1,这一举措使Grok-1成为当前参数量最大的开源大语言模型,拥有3140亿参数,远超OpenAI GPT-3.5的1750亿。 开源可促进技术高质量发展,让技术迭代更快,更能适应各行各业的发…

学习操作系统之多道批处理系统

1964年IBM生产了第一台小规模集成电路计算机IBM System/360(第三代计算机),并为该计算机开发了OS/360操作系统,是第一个多道批处理系统。 多道批处理的运行机制: 多道批处理系统同样要求事先将多道作业存放到外存上并…

无人机倾斜摄影技术在智慧城市中的应用

随着智慧城市的不断发展和完善,新兴热门技术也不断崛起。无人机技术作为其中之一,具有操作简单、应用灵活等优势,受到了各个行业的青睐。现阶段,无人机技术与5G移动通信系统、人工智能系统深度融合,实现了无人机技术的…

优卡达节能科技给您解读2024第13届生物发酵展

参展企业介绍 苏州优卡达节能科技有限公司位于江苏省苏州市相城区,它脱胎于苏州化工机械厂,是专一技术研发生产螺旋板式换热器的厂家。广泛应用于冶金、焦化、纺织、医药、食品、机械、电力、环保、暖通节能及需要热量转换等工业。 公司具有具有多名研…

IRIS / Chronicles 数据结构备忘录

数据结构的内容主要涉及到索引和全局变量。 这部分的内容的问题在于概念多,和普通的数据库对应的内容也不太一样,需要花点时间了解。 networked items 有关英文的解释是: Networked items that point to databases that use padded-string…

LeetCode-移除元素

题目 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长…

【Java】Java中类的初始化顺序(静态方法,静态块,非静态块,最后有流程图)

📝个人主页:哈__ 期待您的关注 在日常使用Java的时候,我们都接触过new这个关键字,那你是否知道在我们的对象真正创建出来之前都做了哪些事情呢? 实际上要去判断一个类的初始化的顺序,需要分一下情况&…

《C++程序设计》阅读笔记【6--类(1)】

🌈个人主页:godspeed_lucip 🔥 系列专栏:《C程序设计》阅读笔记 本文对应的PDF源文件请关注微信公众号程序员刘同学,回复C程序设计获取下载链接。 1 类1.1 概述1.2 构造函数1.3 析构函数1.4 重载构造函数 2 总结 1 类…

谷歌建站用什么程序比较好?

建网站这回事,说容易也容易,现如今市面上建站的程序多如牛毛,哪怕你不会代码也能建一个漂亮的网站,但网站搭建出来是为了什么?是为了获取流量,拉到业务,那么,建站的时候你就要考虑谷…

关于泛型类型参数的约束

默认情况下,泛型类型参数T可以是任意类型;如果我们希望泛型类型参数希望是某个类型或者是实现某个接口,或者继承某个类,又或者是某一个类型比如值类型,这就需要对类型参数T进行约束,泛型类型参数的约束语法…

二维码门楼牌管理应用平台建设:场所记录与智能化管理

文章目录 前言一、二维码门楼牌管理应用平台的建设背景二、二维码门楼牌管理应用平台的功能特点三、二维码门楼牌管理应用平台的建设意义四、结语 前言 随着科技的飞速发展,二维码技术已经深入到了我们生活的方方面面。在城市管理中,二维码门楼牌管理应…

如何使用宝塔面板搭建MySQL数据库并实现无公网IP远程访问

文章目录 前言1.Mysql服务安装2.创建数据库3.安装cpolar3.2 创建HTTP隧道 4.远程连接5.固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 宝塔面板的简易操作性,使得运维难度降低,简化了Linux命令行进行繁琐的配置,下面简单几步,通过宝塔面板cp…

jeecg-boot 3.6使用微服务启动详细配置

1:运行sql文件 2:配置host 路径如下 127.0.0.1 jeecg-boot-redis 127.0.0.1 jeecg-boot-mysql 127.0.0.1 jeecg-boot-nacos 127.0.0.1 jeecg-boot-gateway 127.0.0.1 jeecg-boot-system 127.0.0.1 jeecg-boot-xxljob 127.0.0.1 jeecg-boot-rabbitmq 3…

Databend 开源周报第 139 期

📢 Databend 现已默认启用全新聚合哈希表实现,在 Hits 基准测试中单条查询性能提升最高达 40% ! Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://…

WPF 多语言切换及ResourceDictionary的Source路径填写

WPF 多语言切换 1. 添加资源字典 新增两个资源字典&#xff0c;里面分别存储不同语言的文本 <ResourceDictionary xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s…

✌2024/4/4—力扣—整数转罗马数字

代码实现&#xff1a; 方法一&#xff1a;硬编码数字 const char *thousands[] {"", "M", "MM", "MMM"}; const char *hundreds[] {"", "C", "CC", "CCC", "CD", "D",…

SpringBoot学习之Kibana下载安装和启动(Mac版)(三十二)

一、简介 Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。 …

橘子学JDK之JMH-02(BenchmarkModes)

一、案例二代码 这次我们来搞一下官网文档的第二个案例&#xff0c;我删除了一些没用的注释&#xff0c;然后对代码做了一下注释的翻译&#xff0c;可以看一下意思。 package com.levi;import org.openjdk.jmh.annotations.*; import org.openjdk.jmh.runner.Runner; import …

深入理解JVM后端优化技术-方法内联

相关系列 深入理解JVM后端优化技术-逃逸分析(Escape Analysis)-CSDN博客 深入理解JVM后端优化技术-锁消除&#xff08;Lock Elision)-CSDN博客 深入理解JVM后端优化技术-锁粗化(Lock Coarsening)-CSDN博客 jvm只是负责依次将字节码指令逐次转换成机器码。而在转换过程中&#x…