Mysql中對字串型別的欄位進行數字值排序
ORDER BY `meta_value`
那麼按得分排序得到的結果可能是:
1
10
11
123
1234
2
25
253
3
由於是按字母順序排列,所以123排在了2的前面,顯然不符合我們的要求,那麼怎樣才能按照我們預想的數字順序排序呢?下面介紹兩種方法。
一、採用MySQL的cast函式,轉換欄位格式
這裡我們將meta_value欄位轉換成數值型別的欄位DECIMAL,然後再進行排序:
程式碼如下:
ORDER BY CAST(`meta_value` AS DECIMAL)
需要注意的是,你所要排序的meta_value欄位的值必須都是可轉換成數字,否則將會出錯。
二、使用MySQL絕對值函式ABS
使用MySQL絕對值函式ABS,它告訴MySQL使用絕對值來處理處理這個欄位:
程式碼如下:
ORDER BY ABS(`meta_value`)
二、使用MySQL絕對值函式ABS
在需要排序的欄位後增加 *1 或者+0
程式碼如下:
ORDER BY meta_value*1
ORDER BY meta_value+0
相關推薦
Mysql中對字串型別的欄位進行數字值排序
ORDER BY `meta_value` 那麼按得分排序得到的結果可能是: 1 10 11 123 1234 2 25 253 3 由於是按字母順序排列,所以123排在了2的前面,顯然不符合我們的要求,那麼怎樣才能按照我們預想的數字順序
MYSQL 中利用insert對自增欄位進行插值
mysql的insert/replace/update/delete & insert,update,delete多表操作 2008-03-28 15:44:10 from WriteDream INSERT和REPLACE語句的功能都是向表中插入新的資料。這兩條
ORA——00600錯誤的原因是:(Oracle中對clob型別欄位的操作)
ORA——00600錯誤的原因是:(Oracle中對clob型別欄位的操作) 改正的程式碼如下: //3.2生成資料插入語句 (增加的方式) StringBuilder insertSql = new StringBuilder(“INSERT INTO “); insertSql.a
SQL根據字串型別欄位進行排序,可以在取值的時候處理
DataTable dt = DB.ExecuteDataTable(sql.ToString(), CommandType.Text, null);//資料來源 dt.Columns.Add("status", Type.GetType("Sys
mysql中查詢varchar型別欄位中的整數(去除小數)
(假設我們有一個students表,表中有個varchar型別的number欄位) 第一次我使用round()函式找出四捨五入後等於其本身的數字: SELECT number FROM student
Oracle中對clob型別欄位的操作
下面這篇文章說的很詳細,我再做兩點補充說明: 第一,LOB資料不能象其它型別資料一樣直接插入(INSERT)。插入前必須先插入一個空的LOB物件,CLOB型別的空物件為EMPTY_CLOB(),BLOB型別的空物件為EMPTY_BLOB()。之後通過SELECT
修改MySql中資料表和欄位的字符集和排序規則
由於資料庫中的資料表和表字段的字符集和排序規則不統一,找了很多帖子,最後發現如下指令碼很好用。 用法兒是:先執行如下指令碼生成修改資料表和表字段的指令碼,然後再執行這些生成的指令碼。 1. 修改指定資料庫中所有varchar型別的表字段的字符集為UTF8,並將排序規則
MYSQL GROUP BY 對多個欄位進行分組
在平時的開發任務中我們經常會用到MYSQL的GROUP BY分組, 用來獲取資料表中以分組欄位為依據的統計資料。比如有一個學生選課表,表結構如下: Table: Subject_Selection Subject Semester Attendee -------
mysql group by 對多個欄位進行分組
在平時的開發任務中我們經常會用到MYSQL的GROUP BY分組, 用來獲取資料表中以分組欄位為依據的統計資料。比如有一個學生選課表,表結構如下: Table: Subject_Selection Subject Semester Att
MySQL字串型別欄位值大小寫問題
太長不看版 MySQL資料庫預設情況下,字串欄位的所有相關運算是大小寫“不敏感”的。這一點與其它流行的資料庫都不相同。 本文介紹了三種方法解決這個問題。 其中一種在查詢時指定大小寫敏感,但可能存在效能風險。 另外兩種則是在表結構定義時定義。 MySQL資料庫備受爭議的
把資料庫中的datatime型別欄位 用字串的形式輸出(如05-20-2012)
SqlConnection con = new SqlConnection("server=localhost;database=bookmanage;uid=sa;pwd=1234"); con.Open(); string sql = "
MySQL中插入多個欄位的方法
在開發過程中,很多時候,根據需求,我們需要重新在表中新增幾個欄位。 在本地測試成功後,我們需要將自己的sql語句,提交到SVN,在版本升級的時候對現網上的資料庫表進行更新。 那麼如何寫插入欄位的sql語句呢?下面這個例子可以做一個簡單地示例: alter table ip_doma
MySQL中Date和DateTime欄位與mybatis的對應關係
MySQL中Date和DateTime欄位與mybatis的對應關係 在MySQL欄位中有Date和DateTime型別,但是java中沒有DateTime型別。 解決辦法: (1)在mybatis插入資料時只要將實體的屬性設定成Timestamp就會對應mysql的DateTime型別
fastjson根據json陣列中物件的某個欄位進行排序
記錄一下 /** *@Author:vic *@Date:14:59 2018/11/30 *@Description: is_desc-false升序列 is_desc-true降序 */ public static String jsonArraySor
如何在指定資料庫表中插入TimeStamp型別欄位
# 在指定表中 插入一個 TimeStamp型別的欄位,預設當前時間作為插入時間顯示,以後更新資料時會跟著更新 時間 ALTER TABLE 表名 ADD 欄位名 TimeStamp default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
Oracle-Mysql中對字串排序
mysql中對字串排序,字串中有數字有漢字,想按數字的大小來進行排序。僅僅用order by排序,效果不是想要的。 sql語句為: select id,dict_name,type_code from t_dictionary where typ
mysql中兩個int欄位建立聯合索引,沒有用到索引
這兩天有一個任務表 t_task_list ,搜尋條件下面都有,相關的索引也有,但就是用不到索引,應該是跟資料分佈有關,所以對索引做了調整。 最重要的不是對索引做了調整,而是,不要以為建了索引就一定能用到,還是根據資料的分佈情況來決定的,以後多注意吧,有慢查詢,一定看sql,看expl
java物件記憶體佈局中的基本型別欄位排列順序
java物件記憶體佈局: mark word class物件指標 類欄位 補齊位 如果是陣列物件,2、3之間應該加上 陣列長度 佈局排列表: 32位jdk 普通物件 32位jdk 陣列物件
vue如何使用rules對錶單欄位進行校驗
基於element-ui 1、在程式碼中,新增屬性::rule <el-form :model="form" :rules="rules" ref="form" label-width="150px"></el-form> 並且,在<el-f
MySQL中使用表別名與欄位別名
MySQL 表別名(Alias) SQL 表別名 在 SQL 語句中,可以為表名稱及欄位(列)名稱指定別名(Alias),別名是 SQL 標準語法,幾乎所有的資料庫系統都支援。通過關鍵字 AS 來指定。 表別名語法: SELECT column FROM tab