欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql轉(zhuǎn)移字符串轉(zhuǎn)數(shù)字

張吉惟2年前9瀏覽0評論

在MySQL數(shù)據(jù)庫中,有時需要將字符串類型的數(shù)據(jù)轉(zhuǎn)換成數(shù)字類型的數(shù)據(jù)以便于進(jìn)行數(shù)值運算。可以使用MySQL提供的一些函數(shù),如CAST()和CONVERT()來完成這個轉(zhuǎn)換,代碼如下:

SELECT CAST('123' AS SIGNED);
SELECT CONVERT('456', SIGNED);

上面的代碼中,'123'和'456'是要轉(zhuǎn)換的字符串,SIGNED是要轉(zhuǎn)換成的數(shù)據(jù)類型。這兩個函數(shù)的作用是相同的,都是將字符串轉(zhuǎn)換成數(shù)字。

除了使用以上的函數(shù),還可以使用加法運算符或減法運算符來完成轉(zhuǎn)換,示例代碼:

SELECT '789'+0;
SELECT '101112'-0;

這種方式實際上是將字符串轉(zhuǎn)換成數(shù)字,因為MySQL會將運算符左右的數(shù)據(jù)類型轉(zhuǎn)換成一致的數(shù)據(jù)類型,如果一個操作數(shù)是數(shù)字,那么另一個操作數(shù)也會轉(zhuǎn)換成數(shù)字。

需要注意的是,如果要將含有非數(shù)字的字符串轉(zhuǎn)換成數(shù)字,那么以上的方法都會返回0。如果需要忽略掉字符串中的非數(shù)字部分,可以使用REGEXP_REPLACE()函數(shù)將其替換成空字符,示例代碼:

SELECT CAST(REGEXP_REPLACE('abc123xyz', '[^0-9]+', '') AS SIGNED);
SELECT CONVERT(REGEXP_REPLACE('def456ghi', '[^0-9]+', ''), SIGNED);

這兩行代碼中,'[ˆ0-9]+'表示不包含數(shù)字的字符,使用這個正則表達(dá)式替換掉字符串中的非數(shù)字字符。

以上就是在MySQL中將字符串轉(zhuǎn)換成數(shù)字的幾種方法。可以根據(jù)實際情況選擇適合的方法進(jìn)行轉(zhuǎn)換。