mysql 字段类型VARCHAR转换成DECIMAL

在我们写代码的实际业务中,有时候实体类用的是String,数据库中自然是VARCHAR类型,但是如果这个实体的属性值放的是数字类型,你查询的时候又需要对它进行排序。sql怎么写呢。

别担心mysql提供了转换方法:CAST  ,CONVERT

例如:我把VARCHAR类型的价格 转换成DECIMAL 然后再进行排序
       1.select  price from TABLE  order by CAST (price as DECIMAL) desc

2.select  price from TABLE  order by CONVERT (price , DECIMAL) desc

OK 可以查到你需要的东西,并且可以根据价格排序。

对其他类型的转换就不一一列举了

转自:https://blog.csdn.net/meix505/article/details/47318269

原文地址:https://www.cnblogs.com/flywang/p/8707605.html

时间: 2024-10-05 12:44:54

mysql 字段类型VARCHAR转换成DECIMAL的相关文章

MySQL类型转换 使用CAST将varchar转换成int类型排序

mysql为我们提供了两个类型转换函数:CAST和CONVERT,现成的东西我们怎能放过? 1 BINARY[(N)] 2 CHAR[(N)] 3 DATE 4 DATETIME 5 DECIMAL 6 SIGNED [INTEGER] 7 TIME 8 UNSIGNED [INTEGER] 例子: --使用CAST将varchar转换成int类型排序 select server_id from cardserver where game_id = 1 order by CAST(server_

MySql 字段类型对应 Java 实体类型

前言 MySQL Connector/J 对于 MySql 数据类型和 Java 数据类型之间的转换是很灵活的: 一般来讲,任何 MySql 数据类型都可以被转换为一个 java.lang.String. 任何 MySql 数字类型都可以被转换为任何一种 Java 数字类型. (当然这样也可能出一些四舍五入,溢出,精度丢失之类的问题). Java基础类型与包装类型 a) 如果数据库字段是允许为空的,使用包装类. 如果不允许为空,使用包装的时候,如果你往数据库插入null值,此时就会抛出异常. 然

mysql 将时间戳直接转换成日期时间

date为需要处理的参数(该参数是Unix 时间戳),可以是字段名,也可以直接是Unix 时间戳字符串 后面的 '%Y%m%d' 主要是将返回值格式化 例如: mysql>SELECT FROM_UNIXTIME( 1249488000, '%Y%m%d' ) ->20071120 mysql>SELECT FROM_UNIXTIME( 1249488000, '%Y年%m月%d' ) ->2007年11月20 UNIX_TIMESTAMP()是与之相对正好相反的时间函数 UNIX

六、mysql字段类型选择

1.char类型字段会自动删除字符串后面所带的空格,而varchar不会 2.char比varchar快..... 3.myisam 建议 char类型,memory char跟varchar一样,都作为char类型处理:innodb建议 varchar类型 4.optimize table 清理碎片 text碎片产生实例: create table emp (id tinying(1),content text)engine=myisam; 新建测试表 insert into emp valu

.Net平台下实例类型无法转换成接口类型?

首先这种情况出现在应用程序启动前的方法里面. 本想通过发射来实现一些功能.谁知道被这个坑了. 碰到这种问题.已经相当无语了.同时也不知道该如何解决.望有能之士帮忙解答 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58

mysql查询中字符串转换成数字

在操作mysql时,经常需要将字符转换成数字,这一步虽然简单,但不常用的话也很容易忘记,现将在网上找到的方法记录如下: 1.将字符的数字转成数字,比如'0'转成0可以直接用加法来实现例如:将pony表中的d 进行排序,可d的定义为varchar,可以这样解决select * from pony order by (d+0)2.在进行ifnull处理时,比如 ifnull(a/b,'0') 这样就会导致 a/b成了字符串,因此需要把'0'改成0,即可解决此困扰3.比较数字和varchar时,比如a

MySQL字段类型 约束

目录 MySQL存储引擎 非空约束 字段类型 整形类型INT TINYINT 浮点类型float 字符类型char varchar 日期类型 枚举集合 约束条件 主键 自增 unsigned无符号 zerofill使用0填充 删除记录 MySQL存储引擎 什么是存储引擎? 数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建.查询.更新和删除数据操作.用于根据不同的机制处理不同的数据 提示:InnoDB 事务型数据库的首选引擎,支持事务安全表(ACID),行锁定 和 外键.(

python将字符串类型list转换成list

python读取了一个list是字符串形式的'[11.23,23.34]',想转换成list类型: import ast str_list = "[11.23,23.34]" list_list = ast.literal_eval(str_list) print(type(list_list)) 得到结果为: <class 'list'> 方式二: import json str_list = "[11.23,23.34]" list_list = j

Python 字符串类型列表转换成真正列表类型

我们在写代码的过程中,会经常使用到for循环,去循环列表,那么如果我们拿到一个类型为str的列表,对它进行for循环,结果看下面的代码和图: str_list = str(['a','b','c']) for row in str_list: print(row) 结果: 那么for循环就把str类型的列表的每一个字符都一个一个的循环的打印出来,而这个结果并不是我们想要的,那么如何解决这个问题?,使用到第三方模块,看下面的代码 from ast import literal_eval # 假设拿