mysql 交换工资_LeetCode: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)

链接:https://leetcode-cn.com/problems/swap-salary

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

解答

虽然不知道为什么这么写。。但自己写的。。居然通过了。。

---- MySQL ----

# Write your MySQL query statement below

update salary set sex =

case when sex = 'm' then 'f'

when sex = 'f' then 'm' end ---- 119ms

Oracle提交也可以通过,不过执行很慢,1151ms。

看到一个神操作,通过ascii码转换,再通过char转换为字符串,666!

---- MySQL ----

update salary set sex =

char(ascii('f') + ascii('m') - ascii(sex)); ---- 118ms

还有通过异或运算得到结果的。

---- MySQL ----

update salary set sex =

char(ascii(sex)^ascii('f')^ascii('m')); ---- 120ms

异或运算:当2个相同的值进行异或运算,结果为0。

使用MySQL的if函数,if(sex = 'm', 'f', 'm')也可以。

---- MySQL ----

update salary set sex =

if(sex = 'm', 'f', 'm');

使用oracle的decode函数。

---- oracle ----

update salary set sex =

decode(sex, 'm', 'f', 'f', 'm');

思考

使用update和case...when...进行动态将值设置成列。

通过ascii码转换,再通过char转换为字符串。

使用异或运算进行解答。

使用常规的if和decode进行解答。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

usb长包数据结束判断_如何判断南桥好坏 判断南桥好坏方法介绍【详解】

南桥是电脑里重要的零部件,南桥芯片主要是负责I/O接口等一些外设接口的控制、IDE设备的控制及附加功能等等。那么南桥发生故障, 怎么判断南桥好坏 呢?一、通过测PCI槽、AGP槽对地打阻值可判定南北桥有无损坏1、PCI槽中所有的AD复合线对地打阻值都为300&…

C++ MFC界面读写USB HID设备数据程序

发一个简单易用的界面,用来对USB HID设备(比如说游戏手柄,控制面板等)读写数据,一般情况下面板上有一些LED,可以帮助我们测试读写是否正确。另外,需要可以修改vendorID和prodcutID,这样一个界面…

nano-pc-t1 4412 显示驱动分析

1. 和其它内核代码类似。 显示驱动的分析都是由 drivers/video/fbmem.c开始,fbmem.c是显示驱动的抽象,实际只是一个框架性的东西。 fbmem_init 中实现了一个字符设备驱动,并创建了class,但是没有生成设备文件。 这个字符设备驱动的…

mysql中索引约束有哪些_Mysql中索引和约束的示例语句

外键查询一个表的主键是哪些表的外键SELECTTABLE_NAME,COLUMN_NAME,CONSTRAINT_NAME,REFERENCED_TABLE_NAME,REFERENCED_COLUMN_NAMEFROMINFORMATION_SCHEMA.KEY_COLUMN_USAGEWHERETABLE_SCHEMA mydbnameAND REFERENCED_TABLE_NAME 表名;导出所有外键语句SELECTCONCAT(ALTER …

taskkill无法终止进程 拒绝访问_解决删除文件时,提示无法删除的问题

有时我们想删除某个程序文件夹,或是卸载后残留的一些 .dll 等后缀的文件,却一直提示 “运行中” 、 “权限不足” ,甚至用第三方的强力删除功能都无法删除。这时我们可以用系统自带的命令行功能,使用几个简单的小命令就可以彻底删…

javascript删除数组里的对象

Array.prototype.del function(value) {//删除数组中指定的元素&#xff0c;返回新数组function hasValue(array, value) {for(var i 0; i < array.length; i) {if (value array[i]) {return i;}}return -1;}var position hasValue(this, value);var temp new Array ;i…

擦窗机器人测试标准_擦窗机器人,我选择玻妞的三个理由!

很多人都喜欢高层&#xff0c;一览无遗&#xff0c;广阔风景&#xff01;可现实是无论什么高层湖景都会被窗户上日积月累的灰尘遮挡的严严实实&#xff0c;每次擦窗都累到怀&#xff01;疑&#xff01;人&#xff01;生&#xff01;于是一年又一年&#xff0c;你想要的风景始终…

Oracle客户端与java_Oracle 谈 JavaFX 及 Java 客户端技术的未来

原标题&#xff1a;Oracle 谈 JavaFX 及 Java 客户端技术的未来据 Oracle 博客称&#xff0c;从 JDK 11 开始&#xff0c;Oracle 将从 JDK 中删除 JavaFX&#xff0c;但在 2022 年之前&#xff0c;Oracle 还会继续为 JDK 8 中的 JavaFX 提供商业支持。2011 年&#xff0c;JavaF…

基于Passthru的NDIS开发的个人理解

基于Passthru的NDIS开发的个人理解 这几天对NDIS的学习&#xff0c;基本思路是&#xff1a;首先熟悉理论知识→然后下载一个例子进行研究→最后例子自己模仿扩展→最最后尝试自己写一个新的。 Passthru是微软NDIS自己写的一个框架驱动&#xff0c;NDIS开发者可以在此框架上进行…

Conversion to Dalvik format failed with error 1

如题&#xff0c;解决办法是将工程中的 Android Private Libraries移除即可

char类型包括数字吗java_Java char 与 Character

1. java中char类型占2个字节、16位能够存放汉子&#xff0c;字母和数字占一个字节&#xff0c;一个字节8位&#xff0c;中文占2个字节&#xff0c;16位&#xff1b;java2. char类型赋值编码char a’a’; //任意单个字符&#xff0c;加单引号。char a’中’;//任意单个中文字&am…

HDOJ 4253 Two Famous Companies 二分+MST

题目意思&#xff1a;给出n个点&#xff0c;m条边&#xff0c;边分为两种&#xff0c;一种是A公司的&#xff0c;一种是B公司的。边上有权值&#xff0c; 问用n-1条边把n个点连起来的最小费用是多少&#xff0c;其中A公司的边刚好有k条。题目保证有解。 题解&#xff1a;题目意…

低代码开发平台_低代码开发平台测评——伙伴云

​本次测评的产品严格来说不算低代码开发平台&#xff0c;它自己给自己的定位更多是全流程数据生产力平台。不过它依然具备应用搭建的关键要素&#xff0c;而且在数据管理方面还比较出彩&#xff0c;所以不能放过它——伙伴云&#xff0c;这款由Discuz&#xff01;主创团队操刀…

java 返回js_如何基于java或js获取URL返回状态码

这篇文章主要介绍了如何基于java或js获取URL返回状态码,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参fgLAeaGAH考下描述&#xff1a;使用java或者js访问某个网站&#xff0c;返回状态码1.java实现// 用getResponse…

Linux 信号signal处理函数

alarm&#xff08;设置信号传送闹钟&#xff09; 相关函数 signal&#xff0c;sleep 表头文件 #include<unistd.h> 定义函数 unsigned int alarm(unsigned int seconds); 函数说明 alarm()用来设置信号SIGALRM在经过参数seconds指定的秒数后传送给目前的进程。如果参数se…

我的开发环境配置经验

我的开发环境配置经验 http://chinasf.cnblogs.com/archive/2010/01/07/1640960.html本人做开发&#xff0c;偶尔重装下系统&#xff0c;比如换电脑了&#xff1b;或者是visual studio 该升级了&#xff0c;或者是系统坏掉了&#xff1b;每次装好后&#xff0c;我都会做备份&am…

python database ioerror_python – IOError:[Errno 2]没有这样的文件或...

我试图在我的MySQL数据库的表的路径中添加所有种子文件的一些信息,但似乎我有一些PATH问题.你可以看到有完整的路径,它甚至检测到“charlie.torrent”,所以我真的不明白是什么问题.这是我的代码&#xff1a;#!/usr/bin/env python# -*- coding: utf-8 -*-import mysql.connecto…

A20修改串口设备文件

目标&#xff1a;将uart2的设备文件修改为ttyS6&#xff0c;反之亦然 将uart1的设备文件修改为ttyS5&#xff0c;反之亦然 修改“drivers/tty/tty_io.c"文件 找到tty_line_name(driver,index,name)这行&#xff0c;这行是用来生成设备文件的名称。 在这行前加上一下几句…

php 返回数组 键名,php array_keys 返回数组的键名

array_keys返回数组中部分的或所有的键名说明array array_keys ( array $array [, mixed $search_value [, bool $strict false ]] )array_keys() 返回 $array 数组中的数字或者字符串的键名。如果指定了可选参数 search_value&#xff0c;则只返回该值的键名。否则 $array 数…

C#中ref与out区别

static void Main(string[] args){//out testint a, b;//out使用前&#xff0c;变量可以不赋值outTest(out a, out b);Console.WriteLine("a{0};b{1}", a, b);int c 11, d 22;outTest(out c, out d);Console.WriteLine("c{0};d{1}", c, d);//ref testint…