当前位置: 首页 > news >正文

SQL常用函数

 

SQL提供了许多内置的函数,这些函数可以在查询过程中对数据进行各种操作和处理。以下是一些SQL中常用的函数分类及其示例:

1. 字符串函数

CONCAT():连接两个或多个字符串。

SELECT CONCAT('Hello', ' ', 'World') AS greeting;

LENGTH() 或 LEN():返回字符串的长度。

SELECT LENGTH('Hello World');

UPPER():将字符串转换为大写。

SELECT UPPER('hello');

LOWER():将字符串转换为小写。

SELECT LOWER('HELLO');

TRIM():去除字符串两侧的空格。

SELECT TRIM(' Hello World ');

SUBSTRING():提取字符串的子串。

SELECT SUBSTRING('Hello World', 1, 5); -- 返回 'Hello'

2. 数值函数

ROUND():对数值进行四舍五入。

SELECT ROUND(123.4567, 2); -- 返回 123.46

CEIL() 或 CEILING():返回大于或等于指定数值的最小整数。

SELECT CEIL(123.45); -- 返回 124

FLOOR():返回小于或等于指定数值的最大整数。

SELECT FLOOR(123.45); -- 返回 123

ABS():返回数值的绝对值。

SELECT ABS(-123); -- 返回 123

MOD():返回两个数相除的余数。

SELECT MOD(10, 3); -- 返回 1

 

3. 日期和时间函数

NOW():返回当前日期和时间。

SELECT NOW();

CURDATE():返回当前日期。

SELECT CURDATE();

CURTIME():返回当前时间。

SELECT CURTIME();

DATE_FORMAT():按指定的格式显示日期/时间值。

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');

DATEDIFF():返回两个日期之间的天数。

SELECT DATEDIFF('2023-10-23', '2023-10-01'); -- 返回 22

 

4. 聚合函数

COUNT():计算行数。

SELECT COUNT(*) FROM employees;

SUM():计算数值列的总和。

SELECT SUM(salary) FROM employees;

AVG():计算数值列的平均值。

SELECT AVG(salary) FROM employees;

MIN():返回数值列的最小值。

SELECT MIN(salary) FROM employees;

MAX():返回数值列的最大值。

SELECT MAX(salary) FROM employees;

GROUP_CONCAT():连接一个组的值。

SELECT department, GROUP_CONCAT(name) AS employees FROM employees GROUP BY department;

 

5. 转换函数

CAST():将一个数据类型转换为另一个数据类型。

SELECT CAST(123 AS CHAR(3)); -- 转换为字符串 '123'

CONVERT():类似于 CAST(),但语法可能因数据库而异。

SELECT CONVERT(VARCHAR(3), 123); -- 转换为字符串 '123'

 

6. 控制流函数(在某些数据库如MySQL中)

IF():根据条件返回两个值中的一个。

SELECT IF(1=1, 'True', 'False'); -- 返回 'True'

CASE:更复杂的条件逻辑。

SELECT  CASE  WHEN salary < 3000 THEN 'Low

 

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • W1R3S靶机全通详细教程
  • 【Git】Git概述
  • konvajs绘制带有透明度的多边形
  • 【python】PyQt5中QRadioButton的详细用法教程与应用实战
  • 力扣-3232. 判断是否可以赢得数字游戏
  • Miniconda快速安装conda
  • 网络编程 --------- 2、socket网络编程接口
  • C++跳跃表个人理解
  • 如何设计一个测试用例
  • 计算两个时间之间有几个自然月
  • 量化小白也能自动化挖掘出6万+因子
  • 5分钟完成视频会议私有化部署
  • 类和对象的深入了解6
  • 【C语言】简易版扫雷游戏(数组、函数的练习)
  • 05-ArcGIS For JavaScript-RenderNode后处理效果
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 【编码】-360实习笔试编程题(二)-2016.03.29
  • angular2 简述
  • GraphQL学习过程应该是这样的
  • javascript面向对象之创建对象
  • Linux中的硬链接与软链接
  • MySQL主从复制读写分离及奇怪的问题
  • nodejs实现webservice问题总结
  • PAT A1050
  • Vue.js源码(2):初探List Rendering
  • 前端之Sass/Scss实战笔记
  • 网页视频流m3u8/ts视频下载
  • 小程序button引导用户授权
  • 译自由幺半群
  • ionic异常记录
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • ######## golang各章节终篇索引 ########
  • $.ajax,axios,fetch三种ajax请求的区别
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (zt)最盛行的警世狂言(爆笑)
  • (编译到47%失败)to be deleted
  • (二)fiber的基本认识
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (算法)大数的进制转换
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (一)u-boot-nand.bin的下载
  • (一)为什么要选择C++
  • (转)详解PHP处理密码的几种方式
  • (自用)gtest单元测试
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .dwp和.webpart的区别
  • .Family_物联网
  • .net core 依赖注入的基本用发
  • .NET 依赖注入和配置系统
  • .net中我喜欢的两种验证码
  • /bin/rm: 参数列表过长"的解决办法