MySQL高级查询函数有哪些

MySQL高级查询函数:1、字符串函数;2、数字函数,【CEIL(x)】返回不小于X 的最小整数值;3、日期函数,【DATE_ADD/DATE_SUB】等等。

MySQL高级查询函数有哪些

MySQL高级查询函数:

函数的分类:

1,单行函数:对每一条记录输入值进行计算,得到相应的计算结果,返回给用户,也就是说,每条记录作为一个输入参数,经过函数计算得到每条记录的计算结果。

2,多行函数:对多条记录输入值进行计算,得到多条记录对应的单个结果。

单行函数:

①:字符串函数(用户处理单行的字符数据,比如大小写转换,字符串截取,拼装等)

a.LOWER/UPPER(LOWER(str):返回字符串str变为小写字母的字符串.UPPER(str):返回字符串str变为大写字母的字符串)  

SELECT UPPER(name) FROM student; //全部大写SELECT LOWER(name) FROM student; //全部小写

b.CONCAT:   CONCAT(str1,str2,…):

  1,返回结果为连接参数产生的字符串。

  2,如有任何一个参数为NULL ,则返回值为 NULL

  3,允许有一个或多个参数

SELECT name,age, CONCAT(name,'-',age) FROM student;

c.INSERT:把指定(位置,长度)的子字符串替换成目标字符串

        格式:INSERT(str,pos,len,newstr)

            参数:str:(源字符串)       pos:(开始插入的位置, 索引从1开始)   len:(替换字符串的长度)  newstr:(待插入的字符串)

            1,返回字符串str, 其子字符串起始于pos 位置和长度被字符串 newstr取代的len 字符。

            2,如果pos 超过字符串长度,则返回值为原始字符串。

            3,假如len的长度大于其它字符串的长度,则从位置pos开始替换。

            4,若任何一个参数为null,则返回值为NULL

示例:

替换用户名名的部分字符,规则如下:保留用户名前2位,中间3位使用*代替,如果姓名还有多余的字符,保留

SELECT  INSERT(name,2,3,'***')  FROM student;

d.①LENGTH:字符串所占用的字节

SELECT LENGTH(name) FROM student;

    ②CHAR_LENGTH:计算字符数

SELECT CHAR_LENGTH(name) FROM student;

e:LPAD/RPAD:字符串的字符数如果大于给定的个数,如果少了就从函数指定的边补齐指定个数,如果多了从字符串的最后截掉

    LPAD(str,len,padstr):左填补

    1,返回字符串str, 其左边由字符串padstr 填补到总长度为len。

    2,假如str 的长度大于len, 则返回值被缩短至len 字符。

SELECT LPAD(NAME,10,'*')  FROM student;

结果展示:

    RPAD(str,len,padstr):右填补

    1,返回字符串str, 其右边被字符串padstr填补至len 字符长度。

    2,假如字符串str 的长度大于 len,则返回值被缩短到与len 字符相同长度。

SELECT RPAD(NAME,10,'*')  FROM student;

f:TRIM/LTRIM/RTRIM

LTRIM(str):左边空格被trim掉;

RTRIM(str):右边空格被trim掉;

TRIM(str)=LTRIM+RTRIM

TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)

高级用法,从str中按照指定方式截取remstr;

TRIM(remstr FROM] str):相当于TRIM(BOTH remstr FROM str);

SELECT TRIM(name), CHAR_LENGTH(TRIM(name)), CHAR_LENGTH(name) FROM student;#去掉字符串中两端的指定子字符串SELECT TRIM('ja' FROM name) FROM student;                            ||(等价于)SELECT TRIM(BOTH 'ja' FROM name) FROM student;        # 去掉头SELECT TRIM(LEADING 'ja' FROM name) FROM student;# 去掉尾SELECT TRIM(TRAILING 'ja' FROM name) FROM student;

g:REPLACE

  REPLACE(str,from_str,to_str):

  1,在str中把from_str全部替换为to_str;

  2,大小写敏感;

# 选择性的替换# 当某一条的记录中的字段值和第二个参数的值相等的时候#把这个字段值替换成字三个参数SELECT REPLACE(name,'rose','niceMan') FROM student;

h:SUBSTRING(str,pos):

  从字符串str返回一个子字符串,起始于位置pos

Revid AI Revid AI

AI短视频生成平台

Revid AI 96 查看详情 Revid AI

  SUBSTRING(str,pos,len):

  从字符串str返回一个长度同len字符相同的子字符串,起始于位置pos

  如果pos是负数,从字符串尾部开始计算;

# 从指定的位置开始,截取到最后SELECT SUBSTR(name,2) FROM student;# 从指定的位置截取指定的长度的子字符串SELECT SUBSTR(name,2,3) FROM student;

②:数字函数

a.ABS/MOD  ABS(x):返回一个数字的绝对值;

  MOD(N,M):返回N 除以 M后的余数(取模);

SELECT ABS(-13);   //取绝对值SELECT MOD(10,3);//取模

b.CELT/FLOOR/ROUND/TRUNCATE

  CEIL(x):返回不小于X 的最小整数值;

SELECT CEIL(3.5);      结果4

  FLOOR(x):返回不大于X的最大整数值;

 

SELECT FLOOR(3.4);    返回3

  ROUND(X) :整数的四舍五入

 

SELECT ROUND(3.2);   返回3

  ROUND(X,D):

  1,返回参数X, 其值接近于最近似的整数。  

  2,在有两个参数的情况下,返回X ,其值保留到小数点后D位,而第D位的保留方式为四舍五入。

  3,若要接保留X值小数点左边的D 位,可将 D 设为负值。

 

SELECT ROUND(3.2228,2);    返回3.22

  TRUNCATE(X,D)

  1,返回被舍去至小数点后D位的数字X。

  2,若D 的值为 0, 则结果不带有小数点或不带有小数部分。可以将D设为负数,若要截去(归零) X小数点左起第D位开始后面所有

SELECT TRUNCATE(3.456,1)    返回3.4

③:日期函数

a:DATE_ADD/DATE_SUB

  TYPE:SECOND ,MINUTE ,HOUR ,DAY ,WEEK ,MONTH ,YEAR

  1,执行日期运算;

  2,date 是一个 DATETIME 或DATE值,用来指定起始时间;

  3,expr 是一个字符串表达式,用来指定从起始日期添加或减去的时间间隔值;

  4,type 为关键词,它指示了表达式被解释的方式

  DATE_ADD(date,INTERVAL expr type)

  DATE_SUB(date,INTERVAL expr type)

SELECT DATE_ADD(CURDATE(),INTERVAL 1 DAY)

SELECT DATE_SUB(CURDATE(),INTERVAL 1 DAY)

b:DATEDIFF(expr,expr2):返回起始时间expr和结束时间expr2之间的天数

#计算两个日期的差值, 计算结果的单位是·天·

SELECT DATEDIFF('2017-03-21','2017-03-10')

c:DateTime_module (YEAR,DAY,LAST_DAY,MONTH,HOUR,MINUTE)

# 获取某个日期的模块的值, 年,月日时分秒SELECT DAY(now())SELECT DAYOFMONTH(now())SELECT DAYOFWEEK(now())SELECT DAYOFYEAR(now())SELECT now()SELECT HOUR(now())SELECT MINUTE(now())

e:UNIX_TIMESTAMP/FROM_UNIXTIME

  UNIX_TIMESTAMP(date):将返回从'1970-01-01 00:00:00' GMT 指定日期的后的秒数  FROM_UNIXTIME(unix_timestamp) FROM_UNIXTIME(unix_timestamp,format)SELECT UNIX_TIMESTAMP(NOW())SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(NOW()))SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(NOW()), '%y/%m/%d%H:%i:%S')

④:其他函数

a.UUID

SELECT UUID();

b:COALESCE

  COALESCE(value,...):返回值为列表当中的第一个非 NULL值,在没有非NULL 值得情况下返回值为 NULLSELECT COALESCE('Jerry', 'Jack', 'Lucy');  结果为JerrySELECT COALESCE(NULL, 'Jack', 'Lucy');   结果为Jack

e:IF/IFNULL语句

 

# 数据库中的if函数, 相当于Java中的三目运算符SELECT IF(1>1,'true','false')# IFNULL(expr1,expr2):#假如expr1 不为 NULL,则 IFNULL() 的返回值为expr1; 否则其返回值为expr2。    SELECT IFNULL(NULL,10);SELECT IFNULL(NULL,'unempty')

更多相关免费学习推荐:mysql教程(视频)

以上就是MySQL高级查询函数有哪些的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1032103.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
kimi ai官方访问入口网址_kimi ai官网直达链接官方首页
上一篇 2025年12月2日 03:28:20
如何通过css弹性盒子优化页面布局
下一篇 2025年12月2日 03:28:22

相关推荐

  • 修复Django电商项目中AJAX过滤产品列表图片不显示问题

    在Django电商项目中,当使用AJAX动态加载过滤后的产品列表时,常遇到图片无法正常显示的问题。这通常是由于前端模板中图片加载方式(如data-setbg属性结合JavaScript库)与AJAX动态内容更新机制不兼容所致。解决方案是直接在AJAX返回的HTML中使用标准的标签来渲染图片,确保浏览…

    2026年5月10日
    000
  • 开源免费PHP工具 PHP开发效率提升利器

    推荐开源免费PHP开发工具以提升效率:VS Code、Sublime Text轻量高效,PhpStorm专业强大;调试用Xdebug、Kint、Ray;依赖管理选Composer;代码质量工具包括PHPStan、Psalm、PHP_CodeSniffer;数据库管理可用%ignore_a_1%MyA…

    2026年5月10日
    000
  • Golang JSON序列化:控制敏感字段暴露的最佳实践

    本教程探讨golang中如何高效控制结构体字段在json序列化时的可见性。当需要将包含敏感信息的结构体数组转换为json响应时,通过利用`encoding/json`包提供的结构体标签,特别是`json:”-“`,可以轻松实现对特定字段的忽略,从而避免敏感数据泄露,确保api…

    2026年5月10日
    000
  • 比特币新手教程 比特币交易平台有哪些

    比特币是一种去中心化的数字货币,基于区块链技术实现点对点交易,具有匿名性、有限发行和不可篡改等特点;新手可通过交易所购买,P2P交易获得比特币,常用平台包括Binance、OKX和Huobi;交易流程包括注册账户、实名认证、绑定支付方式、充值法币并下单购买,可选择市价单或限价单;比特币存储方式有交易…

    2026年5月10日
    000
  • c++中的SFINAE技术是什么_c++模板编程中的SFINAE原理与应用

    SFINAE 是“替换失败不是错误”的原则,指模板实例化时若参数替换导致错误,只要存在其他合法候选,编译器不报错而是继续重载决议。它用于条件启用模板、类型检测等场景,如通过 decltype 或 enable_if 控制函数重载,实现类型特征判断。尽管 C++20 引入 Concepts 简化了部分…

    2026年5月10日
    000
  • Go语言mgo查询构建:深入理解bson.M与日期范围查询的正确实践

    本文旨在解决go语言mgo库中构建复杂查询时,特别是涉及嵌套`bson.m`和日期范围筛选的常见错误。我们将深入剖析`bson.m`的类型特性,解释为何直接索引`interface{}`会导致“invalid operation”错误,并提供一种推荐的、结构清晰的代码重构方案,以确保查询条件能够正确…

    2026年5月10日
    100
  • 修复点击时按钮抖动:CSS垂直对齐实践

    本文探讨了在Web开发中,交互式按钮(如播放/暂停按钮)在点击时发生意外垂直位移的问题。通过分析CSS样式变化对元素布局的影响,我们发现这是由于按钮不同状态下的边框样式和内边距改变,以及默认的垂直对齐行为共同作用所致。核心解决方案是利用CSS的vertical-align属性,将其设置为middle…

    2026年5月10日
    000
  • Golang goroutine与channel调试技巧

    使用go run -race检测数据竞争,结合runtime.NumGoroutine监控协程数量,通过pprof分析阻塞调用栈,利用select超时避免永久阻塞,有效排查goroutine泄漏、死锁和数据竞争问题。 Go语言的goroutine和channel是并发编程的核心,但它们也带来了调试上…

    2026年5月10日
    000
  • 使用 Jupyter Notebook 进行探索性数据分析

    Jupyter Notebook通过单元格实现代码与Markdown结合,支持数据导入(pandas)、清洗(fillna)、探索(matplotlib/seaborn可视化)、统计分析(describe/corr)和特征工程,便于记录与分享分析过程。 Jupyter Notebook 是进行探索性…

    2026年5月10日
    000
  • 《魔兽世界》将于6月11日开启国服回归技术测试

    《魔兽世界》将于6月11日开启国服回归技术测试《魔兽世界》将于6月11日开启国服回归技术测试《魔兽世界》将于6月11日开启国服回归技术测试《魔兽世界》将于6月11日开启国服回归技术测试

    《%ign%ignore_a_1%re_a_1%》官方宣布,将于6月11日开启国服回归技术测试,时间为7天,并称可以在6月内正式开服,玩家们可以访问官网下载战网客户端并预下载“巫妖王之怒”客户端,技术测试详情见下图。 WordAi WordAI是一个AI驱动的内容重写平台 53 查看详情 以上就是《…

    2026年5月10日 用户投稿
    200
  • 如何在HTML中插入表单元素_HTML表单控件与输入类型使用指南

    HTML表单通过标签构建,包含action和method属性定义数据提交目标与方式,常用input类型如text、password、email等适配不同输入需求,配合label、required、placeholder提升可用性,结合textarea、select、button等控件实现完整交互,是…

    2026年5月10日
    000
  • 前端缓存策略与JavaScript存储管理

    根据数据特性选择合适的存储方式并制定清晰的读写与清理逻辑,能显著提升前端性能;合理运用Cookie、localStorage、sessionStorage、IndexedDB及Cache API,结合缓存策略与定期清理机制,可在保证用户体验的同时避免安全与性能隐患。 前端缓存和JavaScript存…

    2026年5月10日
    100
  • HTML5网页如何实现手势操作 HTML5网页移动端交互的处理技巧

    首先利用原生touch事件实现滑动判断,再通过preventDefault解决滚动冲突,接着引入Hammer.js处理复杂手势,最后通过优化点击区域、避免事件冲突和增加视觉反馈提升体验。 在移动端浏览器中,HTML5网页可以通过触摸事件实现手势操作,提升用户体验。虽然原生JavaScript提供了基…

    2026年5月10日
    000
  • 创建指定大小并填充特定数据的Golang文件教程

    本文将介绍如何使用Golang创建一个指定大小的文件,并用特定数据填充它。我们将使用 `os` 包提供的函数来创建和截断文件,从而实现快速生成大文件的目的。示例代码展示了如何创建一个10MB的文件,并将其填充为全零数据。掌握这些方法,可以方便地在例如日志系统或磁盘队列等场景中,预先创建测试文件或初始…

    2026年5月10日
    000
  • Python命令怎样使用profile分析脚本性能 Python命令性能分析的基础教程

    使用Python的cProfile模块分析脚本性能最直接的方式是通过命令行执行python -m cProfile your_script.py,它会输出每个函数的调用次数、总耗时、累积耗时等关键指标,帮助定位性能瓶颈;为进一步分析,可将结果保存为文件python -m cProfile -o ou…

    2026年5月10日
    000
  • 使用 WebCodecs VideoDecoder 实现精确逐帧回退

    本文档旨在解决在使用 WebCodecs VideoDecoder 进行视频解码时,实现精确逐帧回退的问题。通过比较帧的时间戳与目标帧的时间戳,可以避免渲染中间帧,从而提高用户体验。本文将提供详细的解决方案和示例代码,帮助开发者实现精确的视频帧控制。 在使用 WebCodecs VideoDecod…

    2026年5月10日
    000
  • 如何插入查询结果数据_SQL插入Select查询结果方法

    如何插入查询结果数据_SQL插入Select查询结果方法如何插入查询结果数据_SQL插入Select查询结果方法如何插入查询结果数据_SQL插入Select查询结果方法如何插入查询结果数据_SQL插入Select查询结果方法

    使用INSERT INTO…SELECT语句可高效插入数据,通过NOT EXISTS、LEFT JOIN、MERGE语句或唯一约束避免重复;表结构不一致时可通过别名、类型转换、默认值或计算字段处理;结合存储过程可提升可维护性,支持参数化与动态SQL。 将查询结果数据插入到另一个表中,可以…

    2026年5月10日 用户投稿
    000
  • Discord.py 交互按钮超时与持久化解决方案

    本教程旨在解决Discord.py中交互按钮在一段时间后出现“This Interaction Failed”错误的问题。我们将深入探讨视图(View)的超时机制,并提供通过正确设置timeout参数以及利用bot.add_view()方法实现按钮持久化的具体方案,确保您的机器人交互功能稳定可靠,即…

    2026年5月10日
    000
  • Debian Copilot的社区活跃度如何

    debian copilot是codeberg社区维护的ai助手,旨在为debian用户提供服务。尽管搜索结果中没有直接提供关于debian copilot社区支持活跃度的具体数据,但我们可以通过debian社区的整体活跃度和特点来推断其活跃性。 Debian社区的一般情况: Debian拥有详尽的…

    2026年5月10日
    000
  • JavaScript 闭包:理解闭包原理与内存泄漏问题

    闭包是函数访问其外部作用域变量的能力,即使外部函数已执行完毕。如 inner 函数引用 outer 中的 count,形成闭包,使变量持久存在。闭包本身无害,但可能因延长变量生命周期导致内存泄漏,例如事件监听器引用大对象时。若未及时清理 DOM 事件或定时器,闭包会阻止垃圾回收,造成内存占用过高。解…

    2026年5月10日
    000

发表回复

登录后才能评论
关注微信