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

MySQL字符串轉(zhuǎn)數(shù)字的3種方式實例

 更新時間:2023年08月10日 09:43:34   作者:bisal(Chen?Liu)  
這篇文章主要給大家介紹了關(guān)于MySQL字符串轉(zhuǎn)數(shù)字的3種方式,在使用mysql中經(jīng)常遇到要將字符串?dāng)?shù)字轉(zhuǎn)換成可計算數(shù)字,文中給出了詳細(xì)的代碼示例和圖文介紹,需要的朋友可以參考下

前言

MySQL數(shù)據(jù)表t的c1列是varchar字符串類型,存儲如下記錄

如果按照"T+數(shù)字"中的"數(shù)字"排序,常規(guī)的操作order by c1,執(zhí)行是錯誤的,實際上按照字符串的ASCII排序的,

select?*?from?t01?order?by?c1;

如果順著想,字符串截取出"T+數(shù)字"中的"數(shù)字"排序,

select?*?from?t01?order?by?substr(c1,?2);

還是不對的,因為本質(zhì)上,還是按照字符串進(jìn)行的排序,

針對這個需求,可以有三種方案

(1)字段值 + 0

MySQL會根據(jù)上下文自動轉(zhuǎn)換類型,通過"字段值+0",可以將原本是字符類型的字段值以數(shù)值型返回,

select?*?from?t01?order?by?substr(c1,?2)?+?0;

(2)CAST函數(shù)

CAST()函數(shù)可以將一個字段的值轉(zhuǎn)成另一個類型并輸出。 

語法:CAST(字段名 AS 轉(zhuǎn)換的類型)

select * from t01 order by cast(substr(c1, 2) as unsigned);

其中,

  • unsigned,表示無符號,不能表示小數(shù)。

  • signed,表示有符號,可以表示小數(shù)。

(3)CONVERT函數(shù)

CONVERT()函數(shù),將一個字段的值轉(zhuǎn)成另一個類型并輸出。

語法:CONVERT(字段名, 轉(zhuǎn)換的類型)

select * from t01 order by convert(substr(c1, 2), unsigned);

其中

  • unsigned,表示無符號,不能表示小數(shù)。

  • signed,表示有符號,可以表示小數(shù)。

總結(jié) 

到此這篇關(guān)于MySQL字符串轉(zhuǎn)數(shù)字的3種方式的文章就介紹到這了,更多相關(guān)MySQL字符串轉(zhuǎn)數(shù)字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論