欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql CAST函數(shù)的具體使用

 更新時(shí)間:2022年08月12日 10:25:49   作者:山茶花開(kāi)時(shí)。  
本文主要介紹了Mysql CAST函數(shù)的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

CAST函數(shù)用于將值從一種數(shù)據(jù)類型轉(zhuǎn)換為表達(dá)式中指定的另一種數(shù)據(jù)類型

語(yǔ)法

CAST(value AS datatype)

AS關(guān)鍵字用于分隔兩個(gè)參數(shù),在AS之前的是要處理的數(shù)據(jù),在AS之后的是要轉(zhuǎn)換的數(shù)據(jù)類型 

參數(shù)說(shuō)明

value: 要轉(zhuǎn)換的值

datatype: 要轉(zhuǎn)換成的數(shù)據(jù)類型

datatype參數(shù)取值

描述
DATE將value轉(zhuǎn)換成'YYYY-MM-DD'格式
DATETIME將value轉(zhuǎn)換成'YYYY-MM-DD HH:MM:SS'格式
TIME將value轉(zhuǎn)換成'HH:MM:SS'格式
CHAR將value轉(zhuǎn)換成CHAR(固定長(zhǎng)度的字符串)格式
SIGNED將value轉(zhuǎn)換成INT(有符號(hào)的整數(shù))格式
UNSIGNED將value轉(zhuǎn)換成INT(無(wú)符號(hào)的整數(shù))格式
DECIMAL將value轉(zhuǎn)換成FLOAT(浮點(diǎn)數(shù))格式
BINARY將value轉(zhuǎn)換成二進(jìn)制格式

示例

1.將值轉(zhuǎn)換為DATE數(shù)據(jù)類型

-- 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.將值轉(zhuǎn)換為DATETIME數(shù)據(jù)類型

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

3.將值轉(zhuǎn)換為TIME數(shù)據(jù)類型

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

4.將值轉(zhuǎn)換為CHAR數(shù)據(jù)類型

-- '150'
SELECT CAST(150 AS CHAR); 
 
-- 出錯(cuò)Error
SELECT CONCAT('Hello World',437));
-- 'Hello World437'
SELECT CONCAT('Hello World',CAST(437 AS CHAR));

5.將值轉(zhuǎn)換為SIGNED數(shù)據(jù)類型

-- 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.將值轉(zhuǎn)換為UNSIGNED數(shù)據(jù)類型

-- 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.將值轉(zhuǎn)換為DECIMAL數(shù)據(jù)類型

-- 9
SELECT CAST('9.0' AS DECIMAL);
 
-- DECIMAL(數(shù)值精度,小數(shù)點(diǎn)保留長(zhǎng)度)
-- DECIMAL(10,2)可以存儲(chǔ)最多具有8位整數(shù)和2位小數(shù)的數(shù)字
-- 精度與小數(shù)位數(shù)分別為10與2
-- 精度是總的數(shù)字位數(shù),包括小數(shù)點(diǎn)左邊和右邊位數(shù)的總和
-- 小數(shù)位數(shù)是小數(shù)點(diǎn)右邊的位數(shù)
-- 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));

練習(xí)案例

導(dǎo)入數(shù)據(jù) 

DROP TABLE IF EXISTS `Material`;
CREATE TABLE `Material` (
  `ID` varchar(255) DEFAULT NULL,
  `Material` varchar(255) DEFAULT NULL,
  `FileName` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
 
INSERT INTO `Material` VALUES ('1', '07-100215-01', 'FD03-FCZ-220430012624541.txt');
INSERT INTO `Material` VALUES ('2', '07-100390-01', 'FD03-FCZ-210318012624541.txt');
INSERT INTO `Material` VALUES ('3', '07-1043-01', 'FD03-FCZ-170430012624541.txt');
INSERT INTO `Material` VALUES ('4', '07-1044-01', 'FD03-FCZ-191225012624541.txt');
INSERT INTO `Material` VALUES ('5', '07-1045-01', 'FD03-FCZ-200601012624541.txt');
INSERT INTO `Material` VALUES ('6', '07-1046-01', 'FD03-FCZ-180705012624541.txt');

Material表 

Material:料號(hào)  FileName:文件名稱(存儲(chǔ)相應(yīng)料號(hào)位置)

注明: ID,Material,F(xiàn)ileName都是VARCHAR類型 

FileName取值舉例說(shuō)明:'FD03-FCZ-220430012624541.txt',紅色標(biāo)注數(shù)字代表年月日,其余都取值相同(不用考慮具體含義)

問(wèn)題:查詢小于220401(整數(shù)類型年月日數(shù)值)的Material

SELECT Material
FROM (SELECT Material,(CAST(SUBSTRING(FileName,10,6)AS SIGNED))AS 'time'
      FROM Material
      WHERE 'time' < 220401)AS filter_material;

解題思路
利用SUBSTRING函數(shù)截取FileName值中代表年月日的數(shù)字
由于FileName中的值為varchar類型,220401為整數(shù)類型,需要使用CAST函數(shù)進(jìn)行類型轉(zhuǎn)換 

結(jié)果展示:

 到此這篇關(guān)于Mysql CAST函數(shù)的具體使用的文章就介紹到這了,更多相關(guān)Mysql CAST函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論