亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

前言

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

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

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

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

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

還是不對(duì)的,因?yàn)楸举|(zhì)上,還是按照字符串進(jìn)行的排序,

針對(duì)這個(gè)需求,可以有三種方案

(1)字段值 + 0

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

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

(2)CAST函數(shù)

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

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

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

其中,

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

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

(3)CONVERT函數(shù)

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

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

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

其中

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

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

總結(jié) 

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

相關(guān)文章

最新評(píng)論