惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
S
Schneier on Security
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Scott Helme
Scott Helme
V
Vulnerabilities – Threatpost
Cyberwarzone
Cyberwarzone
C
Cybersecurity and Infrastructure Security Agency CISA
Latest news
Latest news
Google Online Security Blog
Google Online Security Blog
Google DeepMind News
Google DeepMind News
K
Kaspersky official blog
Forbes - Security
Forbes - Security
T
Tenable Blog
The Last Watchdog
The Last Watchdog
T
Tor Project blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Simon Willison's Weblog
Simon Willison's Weblog
Project Zero
Project Zero
O
OpenAI News
L
LINUX DO - 热门话题
P
Privacy International News Feed
月光博客
月光博客
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
C
Cyber Attacks, Cyber Crime and Cyber Security
量子位
博客园 - 【当耐特】
罗磊的独立博客
T
Threatpost
Application and Cybersecurity Blog
Application and Cybersecurity Blog
C
Cisco Blogs
S
SegmentFault 最新的问题
博客园 - 三生石上(FineUI控件)
N
News | PayPal Newsroom
腾讯CDC
Security Latest
Security Latest
J
Java Code Geeks
L
LINUX DO - 最新话题
N
Netflix TechBlog - Medium
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
The Exploit Database - CXSecurity.com
L
Lohrmann on Cybersecurity
D
Docker
Spread Privacy
Spread Privacy
S
Security @ Cisco Blogs
A
Arctic Wolf
H
Hacker News: Front Page
Help Net Security
Help Net Security
Recorded Future
Recorded Future
V2EX - 技术
V2EX - 技术

博客园 - lzhdim

雷柏VT3s MAX鼠标评测:中小手型用户也没有被遗忘 顶尖性能的小号电竞鼠标来了 JavaScript 中的原型与继承 1分钟查清局域网所有IP 20260714 - 个人小作品更新 WorkBuddy 完整教程手册 专为AI而生的企业级QLC SSD!长江存储PE501 61.44TB评测:超过1PB的写入测试 32GB显存才是第一生产力!英特尔锐炫 Pro B70评测:中小企业AI降本神器 JavaScript中的this关键字 C#开发的PopoSaver泡泡屏保应用 - 开源研究系列文章 - 个人小作品 6天不间断测试告诉你到底有多省电!米家空调巨省电大1.5匹评测:制冷峰值功率不超过500W 三倍双摄加持 + D-Log 2 曲线!大疆DJI OSMO Pocket 4P全面评测:补齐短板,化身口袋电影机 晶栈4.0闪存立威!长江存储致态TiPro9000 2TB SSD评测:缓外写入超4GB/s独一档 C# 多线程同步机制详解:原理、使用与性能对比 JavaScript作用域与闭包讲解 最受欢迎的 10 大免费 AI 工具 六种AI生意,从月入一万到月入十万 5个国产大模型实测对比2026:DeepSeek、Kimi、豆包、通义、智谱哪个好用 豆包、元宝、千问、Kimi、DeepSeek,这么多AI软件,到底该用哪个? 微软免费开源了一个 Linux 操作系统,没错!是微软出品 一次看懂5种咖啡冲煮方式:意式、手冲、法压、冷萃、摩卡壶到底有什么区别 120个 实用CSS 技巧汇总合集 JavaScript运算符与表达式详解 C#开发的ScreenSaver屏保应用 - 开源研究系列文章 - 个人小作品 WinForm 中跨线程操作 UI 的解决方案 JavaScript变量与数据类型详解 苹果良心!iOS 27适配设备公布:30款机型 7年前的iPhone 11还能升级 C++图形用户界面开发入门 10个不该免费的GitHub神级项目 JavaScript语言全面概述:从历史到现代实践 一张图看懂常见咖啡 C盘空间多出来4GB:谷歌服软 Chrome本地AI大模型可禁用、删除了 96GB显存运行230B大模型!七彩虹灵创K16笔记本评测:160W性能释放 AMD锐龙AI Max+ 395加持全能移动AI工作站 AI PC最强存储搭档!雷克沙NM1090 PRO 8TB固态评测:14400MB/s满速不缩水 C#已经不是当年的C#了——我用它写了个微秒级数据库引擎 EasyTool:轻量全能的 .NET 工具类库 SQL 入门 17:MySQL 数据类型:从字符串到 JSON 的全面解析 SQL 入门 16:SQL 事务隔离级别与死锁解析(易懂) 原相3955XM+TL3228主控!小米电竞鼠标2全面评测:原生双8K究竟有多强 PCIe 4.0火力全开:闪迪奥丁马仕GX 7100 NVMe SSD上手 超乎预料的千元级电竞主板!七彩虹iGame B850M Ultra-OC V14主板评测 SQL 入门 15:SQL 事务:从 ACID 到四种常见的并发问题 名人 - 我的闪存 C#性能优化技巧 SQL 入门 14:SQL 触发器与事件:自动化数据处理 38个实用的JavaScript 技巧 一款基于 .Net WinForm 开发的节点编辑器,纯 GDI 实现,体积仅 100+Kb Masuit.Tools:这个 C# 工具库 SQL 入门 13:SQL 存储过程与函数:封装逻辑与参数处理 49个 JavaScript 代码快捷技巧,让你在 2026 年成为代码高手 20260503 - 个人小作品更新 SQL 入门 12:SQL 视图:创建、修改与可更新视图 C#如何实现Windows系统桌面截图功能... 6999元AMD新旗舰首测!锐龙9 9950X3D2性能解禁:这颗U根本不是给游戏玩家造的 SQL 入门 11:日期时间格式化、IF、CASE的使用 基于C#的校时类库的实现及使用 - 开源项目研究文章 39g无打孔+原生双8K!雷柏VT0 Air MAX / VT3s Air MAX鼠标评测:轻到飞起还快到极致 WinForm 中控件自适应窗体变化 20260413 - 个人小作品更新 最强麒麟芯+自研风冷 华为Mate80 Pro MAX 风驰版全面评测:涡轮散热封神 性能稳到骨子里 WiFi8核心技术特性与性能分析 2026年最新AMD/Intel桌面CPU排名:多线程、单线程、游戏性能谁才是第一 用DG对C盘进行扩容 - 初学者系列 - 学习者系列 还有比它更强的OEM固态吗!长江存储PC550 1TB评测:不用散热片也能满速的PCIe 5.0 SSD SharpCompress:跨平台的 C# 压缩与解压库 SQL 入门 9:SQL 高级子查询:ANY、EXISTS 与多位置应用 盘点接私活20个最实用的 .NET 开源项目 C#中加载图片的资源释放 20260404 - 个人小作品更新 开启iphone的墙纸玻璃效果 可能是综合性能最强的PCIe 5.0 SSD!铠侠EXCERIA PRO G2 2TB评测:AIDA64线性写入全程不掉速 SQL 入门 8:SQL 复杂查询:子查询与ALL关键词 性能最强的锐龙AI 9 H 465轻薄本!华硕无畏Pro16锐龙版2026评测 4盘RAID 0读写超1100MB/s!希捷酷狼Pro 32TB硬盘评测:百万文件快速完成备份 项目(Project)、项目集(Program)、项目组合(Portfolio) SQL 入门 7:SQL 聚合与分组:函数、GROUP BY 与 ROLLUP
SQL 入门 10:SQL 内置函数:数值、字符串与时间处理
lzhdim · 2026-04-13 · via 博客园 - lzhdim

Posted on 2026-04-13 00:00  lzhdim  阅读(8880)  评论()    收藏  举报

以下为 SQL 中内置函数的用法解析,涵盖数值、字符串和时间函数。

学习内容

  1. 数值函数
    • ROUND(number, decimals):四舍五入,指定小数位。
    • TRUNCATE(number, decimals):截断至指定小数位,不四舍五入。
    • CEILING(number) / CEIL(number):向上取整。
    • FLOOR(number):向下取整。
    • ABS(number):绝对值。
    • RAND():生成 0 到 <1 的随机浮点数。

常见的数值函数

  1. 字符串函数
    • LENGTH(str):返回字符串长度。
    • UPPER(str) / LOWER(str):转换大小写。
    • LTRIM(str) / RTRIM(str) / TRIM(str):去除左侧、右侧或两侧空格。
    • LEFT(str, n) / RIGHT(str, n):取左或右 n 个字符(含空格)。
    • SUBSTRING(str, start, length):截取字符串,length 可选。
    • LOCATE(substr, str):返回子串首次出现位置(从 1 计数)。
    • REPLACE(str, from_str, to_str):替换所有 from_str 为 to_str。
    • CONCAT(str1, str2, ...):连接字符串。
    • CONCAT_WS(separator, str1, str2, ...):用分隔符连接,跳过 NULL。

常见的字符串函数

  1. 时间函数

常见的unit

    • NOW():当前日期时间。
    • CURDATE():当前日期。
    • CURTIME():当前时间。
    • YEAR(date) / MONTH(date) / DAY(date) / HOUR(time) / MINUTE(time) / SECOND(time):提取对应部分。
    • DAYNAME(date):星期名称。
    • DAYOFMONTH(date):月内第几天。
    • DAYOFWEEK(date):周内第几天(西方周日为 1,东方规则不同)。
    • DAYOFYEAR(date):年内第几天。
    • EXTRACT(unit FROM date):提取指定部分(如 DAY、YEAR)

常见的unit

示例代码与讲解

1. 数值函数

  • 四舍五入到 5。
  • 四舍五入到 4.99。

SELECT TRUNCATE(4.87235, 3);

  • 截断到 4.872。
  • 向上取整到 47。
  • 向下取整到 46。
  • 返回 92.3。
  • 生成 0 到 <1 的随机数。

2. 字符串函数

SELECT LENGTH('STEPHEN');

  • 返回 7。
  • 转换为 'SHAUN'。

SELECT LOWER('LIVINGSTON');

  • 转换为 'livingston'。
  • 去除左侧空格,返回 'KLAY'。

SELECT RTRIM('Green   ');

  • 去除右侧空格,返回 'Green'。

SELECT TRIM('  ANDER  IGUODALA   ');

  • 去除两侧空格,返回 'ANDER  IGUODALA'。

SELECT LEFT(' DANTE', 3);

  • 取左 3 字符,返回 ' DA'。

SELECT RIGHT(' DANTE', 3);

  • 取右 3 字符,返回 'NTE'。

SELECT SUBSTRING('JONATHON', 2, 5);

  • 从第 2 位截取 5 字符,返回 'ONATH'。

SELECT LOCATE('S', 'MOSES');

  • 返回 'S' 在 'MOSES' 中首次位置 3。

SELECT REPLACE('ABCDFEG', 'FE', 'EF');

  • 返回 'ABCDEFG'。

SELECT CONCAT(first_name, last_name)
FROM customers;

  • 连接名字,无空格,如 'JohnSmith'。

SELECT CONCAT_WS(' ', first_name, last_name)
FROM customers;

  • 用空格连接,返回 'John Smith'。

SELECT CONCAT(first_name, ' ', last_name)
FROM customers;

  • 同上,灵活性较低。

3. 时间函数

SELECT NOW(), CURDATE(), CURTIME();

  • 示例输出:'2025-04-11 15:02:23', '2025-04-11', '15:02:23'。

SELECT YEAR(NOW()), MONTH(NOW()), DAY(NOW()), HOUR(NOW()), MINUTE(NOW()), SECOND(NOW());

  • 提取当前时间部分,如 2025, 4, 11, 15, 2, 23。

SELECT DAYNAME(NOW()), DAYOFMONTH(NOW()), DAYOFWEEK(NOW()), DAYOFYEAR(NOW());

  • 返回星期名、月内天、周内天(西方周日为 1)、年内天。
  • 注意:DAYOFWEEK 西方规则与东方不同。

SELECT EXTRACT(DAY FROM NOW());

  • 提取当前日期的天,如 11。

作业

1. 时间函数

SELECT *
FROM orders
WHERE EXTRACT(YEAR FROM order_date) = YEAR(NOW());

  • 筛选当前年份(2025)的订单。

总结

本次解析了数值函数(ROUND、TRUNCATE 等)、字符串函数(CONCAT_WS、TRIM 等)和时间函数(NOW、EXTRACT 等)。基于 sql_store 数据库。后续将探讨条件逻辑与格式化。