MySql如何将查询的出来的字段进行转换

目录
  • MySql将查询的出来的字段进行转换
  • MySql将字符串转成数字
    • 1.直接用加法
    • 2.使用函数

MySql将查询的出来的字段进行转换

使用mysql 查询出来的字段并不是前端想要的,可能需要一些转换,那么怎么办呢

我们可以使用case a when 条件 then ‘输出’end来解决

1表示渡口工作人员,2表示微信用户,那么我们查询之后想把1和2转化成相应的文字说明

select *,
(case when ts.reciever like '%,%'  then '全部人员'
 when find_in_set('1',  ts.reciever) then '渡口工作人员'
 when find_in_set('2',  ts.reciever) then '微信用户' end) as recieverName
 from t_task_sms ts ;

MySql将字符串转成数字

今天写sql语句时,相对字符串类型的数字进行排序,怎么做呢?

需要先转换成数字再进行排序

1.直接用加法

字符串+0

eg:

select * from orders order by (mark+0)  desc

2.使用函数

CAST(value as type);
CONVERT(value, type);

注:

这里的type可以为:

  • 浮点数:DECIMAL
  • 整数:SIGNED
  • 无符号整数:UNSIGNED

eg:

select * from orders order by CONVERT(mark,SIGNED)  desc
select * from orders order by CAST(mark as SIGNED)  desc

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Mysql将查询结果集转换为JSON数据的实例代码

    Mysql将查询结果集转换为JSON数据 前言学生表学生成绩表查询单个学生各科成绩(转换为对象JSON串并用逗号拼接)将单个学生各科成绩转换为数组JSON串将数组串作为value并设置key两张表联合查询(最终SQL,每个学生各科成绩)最终结果 前言 我们经常会有这样一种需求,一对关联关系表,一对多的关系,使用一条sql语句查询两张表的所有记录,例:一张学生表,一张学生各科成绩表,我们想要用一条SQL查询出每个学生各科成绩: 学生表 CREATE TABLE IF NOT EXISTS `stu

  • MySQL 字符串转换为数字的方法小结

    方法一:直接 加 0select '123' + 0 方法二:函数 convert语法:convert (value, type);type可以为: decimal 浮点数 signed 整数 unsigned 无符号整数 select convert('123',signed) 方法三:函数 cast语法:cast (value as type); type可以为: decimal 浮点数 signed 整数 unsigned 无符号整数 select cast('123' as signed

  • mysql 数据类型转换的实现

    一.问题 有一张如下图所示的表,需要我们查出 result 值大于 reference_high值的数据 然后我们写了下面的SQL查询语句 SELECT i.result,i.reference_high FROM report_item i LEFT JOIN report r ON r.id=i.report_id WHERE r.org_id=54 AND r.report_status=1 AND r.add_date BETWEEN '2020-12-01' AND '2020-12-

  • Mysql 数字类型转换函数

    1.将Int 转为varchar经常用 concat函数,比如concat(8,'0') 得到字符串 '80' 2.将varchar 转为Int 用 cast(a as signed) a为varchar类型的字符串 总结:类型转换和SQL Server一样,就是类型参数有点点不同 : CAST(xxx AS 类型) , CONVERT(xxx,类型) 可用的类型 二进制,同带binary前缀的效果 : BINARY 字符型,可带参数 : CHAR() 日期 : DATE 时间: TIME 日期

  • MySql如何将查询的出来的字段进行转换

    目录 MySql将查询的出来的字段进行转换 MySql将字符串转成数字 1.直接用加法 2.使用函数 MySql将查询的出来的字段进行转换 使用mysql 查询出来的字段并不是前端想要的,可能需要一些转换,那么怎么办呢 我们可以使用case a when 条件 then ‘输出’end来解决 1表示渡口工作人员,2表示微信用户,那么我们查询之后想把1和2转化成相应的文字说明 select *, (case when ts.reciever like '%,%' then '全部人员' when

  • MySQL Union合并查询数据及表别名、字段别名用法分析

    本文实例讲述了MySQL Union合并查询数据及表别名.字段别名用法.分享给大家供大家参考,具体如下: union关键字 SELECT s_id, f_name, f_price FROM fruits WHERE f_price < 9.0 UNION ALL SELECT s_id, f_name, f_price FROM fruits WHERE s_id IN(101,103); 为表取别名 SELECT * from orders AS o WHERE o.o_num = 3000

  • mysql查询的时候给字段赋默认值操作

    需求 查询某个字段的时候需要给一个字段同样的值. 这个值你可以写死,也可以从数据库获取 1.写死值 SELECT mfr_id AS mfrId, mfr_name AS mfrName, IFNULL(NULL, 587694978080178176) AS suppId FROM mater_prod materProd 查询结果 2.从数据库获取值 SELECT mfr_id AS mfrId, mfr_name AS mfrName, IFNULL(NULL, mfr_id) AS su

  • 详解MySQL like如何查询包含'%'的字段(ESCAPE用法)

    在SQl like语句中,比如 SELECT * FROM user WHERE username LIKE '%luchi%' SELECT * FROM user WHERE username LIKE '_luchi_', % 作为通配符通配多个 _ 作为通配符通配一个 但当like 所要查询的字段中含有 % ,我们如何去查: 这个时候就需要指明 字段中的那个'%' 不作为通配符: 这里就需要用到 ESCAPE 转义 测试: 这里我们使用这张表 转义前: SELECT * FROM use

  • MySQL优化总结-查询总条数

    1.COUNT(*)和COUNT(COL) COUNT(*)通常是对主键进行索引扫描,而COUNT(COL)就不一定了,另外前者是统计表中的所有符合的纪录总数,而后者是计算表中所有符合的COL的纪录数.还有有区别的. 优化总结,对于MyISAM表来说: 1.任何情况下SELECT COUNT(*) FROM tablename是最优选择: 2.尽量减少SELECT COUNT(*) FROMtablename WHERE COL = 'value' 这种查询: 3.杜绝SELECT COUNT(

  • MySQL中对查询结果排序和限定结果的返回数量的用法教程

    MySQL Order By 查询结果排序 ORDER BY SQL 语法中 ORDER BY 关键字用于对查询结果进行排序. 排序分为升序(ASC)和降序(DESC)两种,当不使用 ORDER BY 指定排序方式时,默认为升序. 语法: SELECT column,- FROM tb_name ORDER BY column1,column2,- DESC(ASC) ORDER BY 后面必须列出排序的字段名,可以是多个字段. 对 user 表 uid 进行降序查询: SELECT uid,u

  • 详解MySQL插入和查询数据的相关命令及语句使用

    插入数据 MySQL 表中使用 INSERT INTO SQL语句来插入数据. 你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据. 语法 以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法: INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN ); 如果数据是字符型,必须使用单引号或者双引号,如:"value

  • MySQL中表子查询与关联子查询的基础学习教程

    MySQL 表子查询 表子查询是指子查询返回的结果集是 N 行 N 列的一个表数据. MySQL 表子查询实例 下面是用于例子的两张原始数据表: article 表: blog 表: SQL 如下: SELECT * FROM article WHERE (title,content,uid) IN (SELECT title,content,uid FROM blog) 查询返回结果如下所示: 该 SQL 的意义在于查找 article 表中指定的字段同时也存在于 blog 表中的所有的行(注

  • mySQL中in查询与exists查询的区别小结

    一.关于exists查询 explain select * from vendor where EXISTS(select * from area where area_code = vendor_prov_code ) limit 10 以上是一个典型的exists查询的sql语句. 它的作用方式是这样的:每次从vendor表中查询出一条数据,然后将这条数据中的vendor_prov_code值传递到exists查询中进行执行,也就是进行子查询的执行. 如果子查询查到的数据就返回布尔值true

  • MySQL中列子查询与行子查询操作的学习教程

    MySQL 列子查询及 IN.ANY.SOME 和 ALL 操作符的使用 MySQL 列子查询 列子查询是指子查询返回的结果集是 N 行一列,该结果通常来自对表的某个字段查询返回. 一个列子查询的例子如下: SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=1) 列子查询中使用 IN.ANY.SOME 和 ALL 操作符 由于列子查询返回的结果集是 N 行一列,因此不能直接使用 = > < >= &l

随机推荐