自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL字符串中數(shù)字排序的問題

數(shù)據(jù)庫 MySQL
MySQL中字符串排序的方法相信大家都比較熟悉了,下文就為您介紹一個字符串數(shù)字排序的問題解決,希望能對您有所啟迪。

MySQL字符串相信大家都不陌生,在MySQL字符串排序時經(jīng)常會遇到一些問題,比如下面的這個:

今天解決了一個關于MySQL字符串排序的很奇怪的問題,在數(shù)據(jù)里面定義的是varchar類型,實際存放的是Int類型的數(shù)據(jù),按一下查詢語句進行排序:

將字段*1或者+0可以將MySQL字符串字段按數(shù)值排序
如:

  1. select * from table where 1   order by id*1 desc;  

 
或者

  1. select * from table where 1 order by id+0 desc;  

 
除了上述方法外,這里附上一種排序方法,利用find_in_set()進行無敵排序
附上Mysql函數(shù) find_in_set() 的用法:
-------------------------------------------------------
FIND_IN_SET(str,strlist)
Returns a value 如果字符串 str 在由 N 個子串組成的列表 strlist 中,返回一個 1 到 N 的值。一個字符串列表是由通過字符 “,” 分隔的多個子串組成。如果第一個參數(shù)是一個常數(shù)字符串,并且第二個參數(shù)是一個 SET 列類型,F(xiàn)IND_IN_SET() 函數(shù)將被優(yōu)化為使用位運算!如果 str 在不 strlist 中或者如果 strlist 是一個空串,返回值為 0。如果任何一個參數(shù)為 NULL,返回值也是 NULL。如果第一個參數(shù)包含一個 “,”,這個函數(shù)將完全不能工作:

  1. mysql> SELECT FIND_IN_SET('b','a,b,c,d');  
  2.         -> 2  
  3.    
  4. for example:  
  5. $sql = "select p.*, find_in_set(p.products_id,$string_hot_pid) as rank from products p where p.products_id in ($string_hot_pid) order by rank";  

 

 

【編輯推薦】

MySQL字符串相加函數(shù)用法示例

MySQL大表重復字段的查詢方法

MYSQL查詢重復記錄的方法

教您如何實現(xiàn)MySQL全文查詢

MySQL隨機查詢的實現(xiàn)方法

責任編輯:段燃 來源: 互聯(lián)網(wǎng)
相關推薦

2009-02-24 15:39:27

字符串比較函數(shù)函數(shù)

2009-02-24 14:27:55

2021-08-20 06:58:31

C++Python函數(shù)

2023-01-11 16:49:13

MySQL數(shù)據(jù)庫

2010-11-26 09:51:54

MySQL字符串

2010-05-25 15:58:45

MySQL連接字符串

2010-11-22 12:04:09

MySQL字段

2010-11-26 13:18:53

MySQL字符串

2010-07-14 16:21:48

Perl

2010-10-12 11:13:51

2010-11-26 10:43:48

MySQL分割字符串

2010-06-28 15:18:51

SQL Server

2010-06-04 14:59:06

MySQL數(shù)據(jù)庫

2010-05-26 15:24:09

MySQL字符串

2010-07-14 16:10:37

Perl

2010-05-21 17:22:22

2023-03-06 23:05:32

MySQL字符串函數(shù)

2009-12-01 14:14:36

PHP數(shù)組按字符串長短

2011-07-11 16:00:22

字符串拼接

2011-06-08 15:45:41

字符串JAVA
點贊
收藏

51CTO技術棧公眾號