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

郴州市网站建设公司友情链接交换统计表

郴州市网站建设公司,友情链接交换统计表,深圳做营销网站建设,杭州 网站建设文章目录 一、语法二、示例2.1、复杂示例 三、cast与convert的区别 CAST 函数是 SQL 中的一种类型转换函数,它用于将一个数据类型转换为另一个数据类型,这篇文章主要介绍了Mysql中Cast()函数的用法,需要的朋友可以参考下。 Mysql提供了两种将值转换成指…

文章目录

  • 一、语法
  • 二、示例
    • 2.1、复杂示例
  • 三、cast与convert的区别

CAST 函数是 SQL 中的一种类型转换函数,它用于将一个数据类型转换为另一个数据类型,这篇文章主要介绍了Mysql中Cast()函数的用法,需要的朋友可以参考下。

Mysql提供了两种将值转换成指定数据类型的函数

  • CONVERT函数:用于将值转换为指定的数据类型或字符集。更多内容参考:Mysql convert函数
  • CAST函数 :用于将值转换为指定的数据类型。更多内容参考:Mysql cast函数

以下内容基于mysql8.0进行讲解。

Mysql 8.0 cast函数官网

一、语法

# 语法如下
CAST(expr AS type [ARRAY])示例:将值转换为日期数据类型:
SELECT CAST('2021-08-29' AS DATE);

参数说明:

参数描述
expr必填。要转换的值、列名
type必填。要转换成的数据类型。mysql版本不同,支持的数据类型不同,使用时需注意。

数据类型支持如下

类型描述备注
DATE将 value 转化为 DATE 类型。 格式: “YYYY-MM-DD”
DATETIME将 value 转化为 DATETIME 类型。格式: “YYYY-MM-DD HH:MM:SS”
DECIMAL[(M[,D])]将 value 转化为 DECIMAL 类型。使用可选的 M 和 D 参数指定最大位数(M)和小数点(D)后的位数
TIME将 value 转化为 TIME 类型。格式: “HH:MM:SS”
CHAR将 value 转化为 CHAR 类型 (固定长度的字符串)
NCHAR将 value 转化为 NCHAR (类似 CHAR, 但生成一个具有国家字符集的字符串)
SIGNED将 value 转化为 SIGNED (有符号的 64 位整数)
UNSIGNED将 value 转化为 UNSIGNED (无符号 64 位整数)
BINARY将 value 转化为 BINARY (二进制字符串)
DOUBLE将value转化为DOUBLE类型Added in MySQL 8.0.17
FLOAT将value转化为FLOAT类型 。Added in MySQL 8.0.17

更多内容参考官网:Mysql 8.0 cast函数官网

二、示例

1.将值转换为DATE数据类型

-- 2017-08-29
SELECT CAST('2017-08-29' AS DATE); -- 2022-04-27 15:42:19
SELECT NOW();
-- 2022-04-27
SELECT CAST(NOW() AS DATE);

2.将值转换为DATETIME数据类型

-- 2022-04-27 00:00:00
SELECT CAST('2022-04-27' AS DATETIME); 	

3.将值转换为TIME数据类型

-- 14:06:10
SELECT CAST('14:06:10' AS TIME); 
-- 14:06:10
SELECT CAST('2022-04-27 14:06:10' AS TIME);

4.将值转换为CHAR数据类型

-- '150'
SELECT CAST(150 AS CHAR); -- 'Hello World437'
SELECT CONCAT('Hello World',CAST(437 AS CHAR));	

5.将值转换为SIGNED数据类型

-- 5
SELECT CAST('5.0' AS SIGNED);
-- 2
SELECT (1 + CAST('3' AS SIGNED))/2;
-- -5
SELECT CAST(5-10 AS SIGNED); 
-- 6
SELECT CAST(6.4 AS SIGNED);
-- -6
SELECT CAST(-6.4 AS SIGNED);
-- 7
SELECT CAST(6.5 AS SIGNED); 
-- -7
SELECT CAST(-6.5 AS SIGNED);	

6.将值转换为UNSIGNED数据类型

-- 5
SELECT CAST('5.0' AS UNSIGNED);
-- 6
SELECT CAST(6.4 AS UNSIGNED);
-- 0
SELECT CAST(-6.4 AS UNSIGNED);
-- 7
SELECT CAST(6.5 AS UNSIGNED); 
-- 0
SELECT CAST(-6.5 AS UNSIGNED);

7.将值转换为DECIMAL数据类型

-- 9
SELECT CAST('9.0' AS DECIMAL);-- DECIMAL(数值精度,小数点保留长度)
-- DECIMAL(10,2)可以存储最多具有8位整数和2位小数的数字
-- 精度与小数位数分别为10与2
-- 精度是总的数字位数,包括小数点左边和右边位数的总和
-- 小数位数是小数点右边的位数
-- 9.50
SELECT CAST('9.5' AS DECIMAL(10,2));
-- 99999999.99
SELECT CAST('1234567890.123' AS DECIMAL(10,2));-- 220.232
SELECT CAST('220.23211231' AS DECIMAL(10, 3));
-- 220.232
SELECT CAST(220.23211231 AS DECIMAL(10, 3));

2.1、复杂示例

1.如下,按文件名中的数字进行排序

让我们先看几个 file_name的示例值:

  • 中文_1.mp4
  • 中文_12.mp4
  • 中文_2.mp4
  • 中文_10.mp4

数据准备

CREATE TABLE `test1` (`id` int NOT NULL PRIMARY KEY AUTO_INCREMENT comment '主键id',`file_name` varchar(10)  DEFAULT NULL COMMENT '文件名'
) ENGINE=InnoDB AUTO_INCREMENT=1;insert into test1(file_name) values
('中文_1.txt'),
('中文_2.txt'),
('中文_10.txt'),
('中文_12.txt');

使用 REGEXP_SUBSTR 函数提取并排序
在MySQL 8.0及以上版本中,我们可以使用 REGEXP_SUBSTR() 函数来提取字符串中的数字部分。这个函数允许我们使用正则表达式来指定我们想要匹配的模式。在这个例子中,我们使用正则表达式 \d+ 来匹配一个或多个数字。

以下是完整的SQL查询,用于实现按数字排序:

SELECT *
FROM test1
WHERE file_name LIKE '%中文%'
ORDER BY CAST(REGEXP_SUBSTR(file_name , '\\d+') AS UNSIGNED);

这条SQL语句做了以下几件事:

  • WHERE original_name LIKE '%中文%':筛选出所有文件名包含“中文”的记录。
  • REGEXP_SUBSTR(original_name, '\\d+'):从 original_name 中提取第一组连续的数字。
  • CAST(... AS UNSIGNED):将提取出的字符串转换成无符号整数,以便按数字进行排序。

三、cast与convert的区别

CAST() 和 CONVERT() 都可以更改 MySQL 中的数据类型。主要区别在于 CONVERT() 还可以将数据的字符集转换为另一个字符集。CAST() 就不能用于更改字符集。

http://www.dt0577.cn/news/19128.html

相关文章:

  • 做商城网站买多大的空间山东移动网站建设
  • 做直播网站要多大带宽百度开户渠道
  • b2b网站开发网站为什么要seo
  • 做艺人资料卡的网站奉化云优化seo
  • nanopi neo做网站it培训机构有哪些
  • 在网站上显示地图广州网站定制多少钱
  • 建设银行不弹出网站日本进口yamawa
  • 访链家网网站开发最新推广注册app拿佣金
  • 工信部 网站要独立ip近期国内外重大新闻10条
  • 建设建设银行甘肃分行网站如何营销
  • 国外幼女和成人做视频网站去哪里找需要推广的app
  • 国外优秀vi设计网站百度指数首页
  • 企业网站建设费用摊销企业查询宝
  • lamp网站怎么建设seo精灵
  • 怎样在局域网做网站seo关键词分析
  • 鞍山SEO网站推广公司做销售怎么和客户聊天
  • 沙田镇仿做网站网站推广的公司
  • 福田莲花网站建设提高工作效率8个方法
  • 网站建设公司报价互联网营销师国家职业技能标准
  • 燕郊疫情最新消息搜索引擎优化方法包括
  • php工具箱是直接做网站的吗前端培训哪个机构靠谱
  • 做网站用什么笔记本配置怎么做公众号
  • 网站开发需求网长沙网站提升排名
  • 千灯做网站网站seo顾问
  • WordPress突然全站404百度榜
  • 建设网站都要学些什么问题网站和网页的区别
  • 佛山产品设计公司网站优化的方法与技巧
  • 建设一个购物网站流程网络营销推广方案策划与实施
  • 用在线网站做的简历可以吗博客优化网站seo怎么写
  • 微信公众平台怎么做微网站吗可以推广赚钱的软件