力扣数据库题目627变更性别

给定一个 salary 表,如下所示,有 m = 男性 和 f = 女性 的值。交换所有的 f 和 m 值(例如,将所有 f 值更改为 m,反之亦然)。要求只使用一个更新(Update)语句,并且没有中间的临时表。

注意,您必只能写一个 Update 语句,请不要编写任何 Select 语句。

例如:

id

name

sex

salary

1

A

m

2500

2

B

f

1500

3

C

m

5500

4

D

f

500

运行你所编写的更新语句之后,将会得到以下表:

id

name

sex

salary

1

A

f

2500

2

B

m

1500

3

C

f

5500

4

D

m

500

来源:力扣(LeetCode)

SQL中的test前缀是库名,不是无中生有的SQL

方案一

UPDATE test.salary SET sex = CASE sex WHEN 'f' THEN 'm' WHEN 'm' THEN 'f' ELSE '' END;

也可以使用IF方法,目的就是当性别是f时获得m,性别是m时获得f。

方案二

UPDATE test.salary SET sex = REPLACE('fm',sex,'');

方案三

211是fm的ASCII编码之和

UPDATE test.salary SET sex = CHAR(211-ASCII(sex)USING ASCII);

方案四

11是fm的ASCII编码之异或

UPDATE test.salary SET sex = CHAR(11^ASCII(sex) USING ASCII);

方案五

11118是fm的ASCII编码之乘积

UPDATE test.salary SET sex = CHAR(11118/ASCII(sex) USING ASCII);

后面三个方案基本雷同,对于开发来说,了解其中之一就可以

建表

CREATE TABLE `salary` (

`id` int NOT NULL AUTO_INCREMENT,

`name` varchar(1) NOT NULL DEFAULT '',

`sex` varchar(1) NOT NULL DEFAULT '',

`salary` int NOT NULL DEFAULT '0',

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ;

数据初始化

INSERT INTO `test`.`salary`(`id`,`name`,`sex`,`salary`)

VALUES(1,'A','m',2500),(2,'B','f',1500),(3,'C','m',5500),(4,'D','f',500);

MYSQL将一个人的性别改为女_力扣数据库题目627变更性别相关推荐

  1. MySQL中改变相邻学生座位_力扣——换座位(数据库的题

    小美是一所中学的信息科技老师,她有一张 seat 座位表,平时用来储存学生名字和与他们相对应的座位 id. 其中纵列的 id 是连续递增的 小美想改变相邻俩学生的座位. 你能不能帮她写一个 SQL q ...

  2. MySQL语句将刘盼盼改为刘盼_三门峡招教:2014年灵宝市招聘教师体检人员名单

    河南教师考试网同步灵宝教育网发布:三门峡招教:2014年灵宝市招聘教师体检人员名单,请务于2014 年6月17日上午10时前到市教育体育局人事科领取体检通知书.htzhaojiao), 2014灵宝市 ...

  3. mysql将一个字符转换成多个字符_将分隔的字符串转换为mysql中的多个值

    这被称为 walking a string.这是一个如何使用提供的规范来做到这一点的示例: 您需要创建一个包含与字段长度1一样多的整数的表.因此,如果字段的长度为255,则需要256条记录,其中只包含 ...

  4. 体重 年龄 性别 身高 预测鞋码_【新手扫盲】身高体重性别年龄身体素质影响玩滑板吗?...

    很多新手在迈入滑板大门之前 都会有诸多顾虑, 以为滑板跟其他运动一样,门槛很高 我想说,滑板是项自由友好的运动 下到3岁小宝宝,上到60岁以上老人 只要你想玩,那就可以参与进来 没有任何因素能阻止你玩 ...

  5. 文巾解题 627. 变更性别

    1 题目描述 2 解题思路 回顾一下 UPDATE语句 2.1 CASE语句 回顾一下CASE语句(见数据库笔记: SQL_刘文巾的博客-CSDN博客 第六节) UPDATE salary SET s ...

  6. 【LeetCode-SQL每日一练】—— 627. 变更性别

  7. mysql 不同服务器不同库之间的访问_不同服务器数据库之间的数据操作

    --创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogi ...

  8. LeetCode: 627. 变更性别

    原题:https://leetcode-cn.com/problems/swap-salary/ 个人解法: update salary set sex = if(sex='m', 'f', 'm') ...

  9. mysql怎么把文字图片保存在一起_如何在数据库中同时保存文本和图片

    展开全部 向数据库中保存不同类型的文件,和在数据库中保存图e69da5e887aa3231313335323631343130323136353331333337613164片是一样的.就是向数据库以 ...

最新文章

  1. C#环境下的钩子详解
  2. postgresql对于HashJoin算法的Data skew优化与MCV处理
  3. 计算机学不学工程制图,大一,马上要考试了,不想再学工程制图了?
  4. 一个整数,它加上100后是一个完全平方数,加上168又是一个完全平方数,请问该数是多少?...
  5. 修改一个CGRect的值
  6. Beyond Compare 怎么新增与卸载文件格式
  7. .net开发MIS系统的难处.
  8. 【BZOJ1061/3265】[Noi2008]志愿者招募/志愿者招募加强版 单纯形法
  9. java递归遍历文件夹_java递归遍历获取目录下所有文件
  10. 截止失真放大电路_音频放大器结构组成_音频放大器分类
  11. Android开发技巧 (四) —— 多窗口模式
  12. 浅析3D音效的技术和发展
  13. window.onload=function()是什么意思
  14. htb:Starting Point
  15. [置顶] XMPPFrameWork IOS 开发(六)聊天室
  16. MATLAB裁剪视频(裁剪固定区域)
  17. drawio,程序员最好用的在线画图软件!!!
  18. unity3D场景转换
  19. List、Set、Map、Queue、Deque、Stack的遍历方式总结
  20. 自动驾驶仿真平台概述

热门文章

  1. 理解快速离散傅里叶变换算法(FFT)
  2. 一次函数在c语言中,一次函数练习题精选
  3. 杭州python培训兄弟连
  4. CVPR:Weakly-supervised Deep Convolutional Neural Network Learning for Facial Action Intensity Estima
  5. 小猿日记(7) - 招标会议篇
  6. 常用z反变换公式表_8套建筑工程测量公式计算表,输入参数自动计算,高效工作!...
  7. OpenCV计算机视觉编程篇三《处理图像的颜色》
  8. uboot源码下载以及编译
  9. matlab数米粒实验报告,文化学习上机实验中遇到的一些Matlab函数.ppt
  10. VxWorks 的 RapidIO