bbsmax mysql_mysql 语句case when
CREATE TABLE `lee` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`name` char(20) DEFAULT NULL,
`birthday` datetime DEFAULT NULL,
PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8
數(shù)據(jù)插入:
insert into lee(name,birthday) values ('sam','1990-01-01');
insert into lee(name,birthday) values ('lee','1980-01-01');
insert into lee(name,birthday) values ('john','1985-01-01');
使用case when語(yǔ)句
1。
select name,
case
when birthday
when birthday>'1988' then 'yong'
else 'ok' END YORN
from lee;
2。
select NAME,
case name
when 'sam' then 'yong'
when 'lee' then 'handsome'
else 'good' end
from lee;
當(dāng)然了case when語(yǔ)句還可以復(fù)合
3。
select name,birthday,
case
when birthday>'1983' then 'yong'
when name='lee' then 'handsome'
else 'just so so ' end
from lee;
在這里用sql語(yǔ)句進(jìn)行日期比較的話,需要對(duì)年加引號(hào)。要不然可能結(jié)果可能和預(yù)期的結(jié)果會(huì)不同。我的mysql版本5.1
當(dāng)然也可以用year函數(shù)來(lái)實(shí)現(xiàn),以第一個(gè)sql為例
select NAME,
CASE
when year(birthday)>1988 then 'yong'
when year(birthday)<1980 then 'old'
else 'ok' END
from lee;
create table penalties
(
paymentno INTEGER not NULL,
payment_date DATE not null,
amount DECIMAL(7,2) not null,
primary key(paymentno)
)
insert into penalties values(1,'2008-01-01',3.45);
insert into penalties values(2,'2009-01-01',50.45);
insert into penalties values(3,'2008-07-01',80.45);
1.#對(duì)罰款登記分為三類,第一類low,包括大于0小于等于40的罰款,第二類moderate大于40
#到80之間的罰款,第三類high包含所有大于80的罰款。
2.#統(tǒng)計(jì)出屬于low的罰款編號(hào)。
第一道題的解法與上面的相同
select paymentno,amount,
case
when amount>0 and amount<=40 then 'low'
when amount>40 and amount<=80 then 'moderate'
when amount>80 then 'high'
else 'incorrect' end lvl
from `penalties`
2.#統(tǒng)計(jì)出屬于low的罰款編號(hào)。重點(diǎn)看這里的解決方法
方法1.
select paymentno,amount
from `penalties`
where case
when amount>0 and amount<=40 then 'low'
when amount>40 and amount<=80 then 'moderate'
when amount>80 then 'high'
else 'incorrect' end ='low';
方法2
select *
from (select paymentno,amount,
case
when amount>0 and amount<=40 then 'low'
when amount>40 and amount<=80 then 'moderate'
when amount>80 then 'high'
else 'incorrect' end lvl
from `penalties`) as p
where p.lvl='low';
MySQL存儲(chǔ)過(guò)程 CASE語(yǔ)句
MySQL存儲(chǔ)過(guò)程? CASE語(yǔ)句 除了IF語(yǔ)句,MySQL提供了一個(gè)替代的條件語(yǔ)句CASE. MySQL?CASE語(yǔ)句使代碼更加可讀和高效. CASE語(yǔ)句有兩種形式:簡(jiǎn)單的搜索CASE語(yǔ)句. 簡(jiǎn)單C ...
php代碼優(yōu)化,mysql語(yǔ)句優(yōu)化,面試需要用到的
首先說(shuō)個(gè)問(wèn)題,就是這些所謂的優(yōu)化其實(shí)代碼標(biāo)準(zhǔn)化的建議,其實(shí)真算不上什么正真意義上的優(yōu)化,還有一點(diǎn)需要指出的為了一丁點(diǎn)的性能優(yōu)化,甚至在代碼上的在一次請(qǐng)求上性能提升萬(wàn)分之一的所謂就去大面積改變代碼習(xí)慣, ...
mysql語(yǔ)句:批量更新多條記錄的不同值[轉(zhuǎn)]
mysql語(yǔ)句:批量更新多條記錄的不同值 mysql更新語(yǔ)句很簡(jiǎn)單,更新一條數(shù)據(jù)的某個(gè)字段,一般這樣寫(xiě): 幫助 1 UPDATE mytable SET myfield = 'value' WHERE ...
mysql語(yǔ)句:批量更新多條記錄的不同值
mysql更新語(yǔ)句很簡(jiǎn)單,更新一條數(shù)據(jù)的某個(gè)字段,一般這樣寫(xiě): 1 UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_va ...
在mysql語(yǔ)句中為什么要加反引號(hào)
在MySQL語(yǔ)句中我們有時(shí)候經(jīng)常會(huì)遇到反引號(hào)(``),剛開(kāi)始的時(shí)候不知道什么意思,他是什么作用呢? Select * from `member` order by posts desc limit 0 ...
常用的MySQL語(yǔ)句寫(xiě)法
常用的MySQL語(yǔ)句寫(xiě)法 MySQL的SQL語(yǔ)句寫(xiě)法,除了那些基本的之外,還有一些也算比較常用的,這里記錄下來(lái),以便以后查找. ? ??好記性不如爛筆頭,這話說(shuō)的太有道理了,一段時(shí)間不寫(xiě)它,還真容易忘 ...
Mysql when case 批量更新
UPDATE categories SET display_order = CASE id WHEN 1 THEN 3 WHEN 2 THEN 4 WHEN 3 THEN 5 END WHERE id ...
數(shù)據(jù)庫(kù)系統(tǒng)(六)---MySQL語(yǔ)句及存儲(chǔ)過(guò)程
一.DDL.DML.DCL常用語(yǔ)句 1.DDL(Data Definition Language)數(shù)據(jù)庫(kù)定義語(yǔ)言 (1)數(shù)據(jù)庫(kù)模式定義 #創(chuàng)建數(shù)據(jù)庫(kù) create database if exsite ...
隨機(jī)推薦
實(shí)現(xiàn)iOS圖片等資源文件的熱更新化(三):動(dòng)態(tài)的資源文件夾
簡(jiǎn)介 此文,將嘗試動(dòng)態(tài)從某個(gè)不確定的文件夾中加載資源文件.文章,會(huì)繼續(xù)完善自定義的 imageNamed 函數(shù),并為下一篇文章鋪墊. 這么做的意義 正如我們經(jīng)常所說(shuō)的那樣,大多數(shù)情景知道做事的意義往往 ...
css3折疊效果
在開(kāi)發(fā)過(guò)程中,經(jīng)常會(huì)遇到一些交互效果,今天所聯(lián)系的便是一個(gè)類似折紙的折疊效果,查看效果. 說(shuō)到折紙,我們先看下圖 這是我第一時(shí)間想到的大體思路,如果能讓這6個(gè)面連續(xù)的變化角度到0不就可以了嗎,運(yùn)用cs ...
ks使用lvm分區(qū),ks啟動(dòng)
part /boot -fstype ext3 -size= part swap -size= part pv. -size= -grow volgroup vg_root pv. logvol / ...
Firefox-常用擴(kuò)展
抓包: HttpFox,相比 Firebug 在頁(yè)面跳轉(zhuǎn)或刷新時(shí)依舊保持原有數(shù)據(jù) 常用User-Agent模擬: User Agent Switcher 更改請(qǐng)求頭: ModifyHeaders 更改 ...
Nginx 403 error
nginx 的?403?Forbidden errors 表示你在請(qǐng)求一個(gè)資源文件但是nginx不允許你查看.403 Forbidden 只是一個(gè)HTTP狀態(tài)碼,像404,200一樣不是技術(shù)上的錯(cuò)誤. ...
Java XML解析器
使用Apache Xerces解析XML文檔 一.技術(shù)概述 在用Java解析XML時(shí)候,一般都使用現(xiàn)成XML解析器來(lái)完成,自己編碼解析是一件很棘手的問(wèn)題,對(duì)程序員要求很高,一般也沒(méi)有專業(yè)廠商或者開(kāi)源組 ...
關(guān)于JQuery獲取寬度和高度在chrome和IE下的不同
之前寫(xiě)了一個(gè)關(guān)于滾動(dòng)條的東西,可是在寫(xiě)的時(shí)候發(fā)現(xiàn)JQuery在獲取寬度和高度時(shí)在不同瀏覽器中是不一樣的,下面發(fā)一下代碼給給位看官先展示一下: $(function(){ $("#main&q ...
[Machine Learning] 淺談LR算法的Cost Function
了解LR的同學(xué)們都知道,LR采用了最小化交叉熵或者最大化似然估計(jì)函數(shù)來(lái)作為Cost Function,那有個(gè)很有意思的問(wèn)題來(lái)了,為什么我們不用更加簡(jiǎn)單熟悉的最小化平方誤差函數(shù)(MSE)呢? 我個(gè)人理解 ...
[SDOI2014]數(shù)數(shù)
題解: 做過(guò)ac自動(dòng)機(jī)上dp的這題應(yīng)該就很容易想到了 首先在ac自動(dòng)機(jī)上搞dp 表示當(dāng)前考慮了i位,在自動(dòng)機(jī)的j位上 然后轉(zhuǎn)移就可以了 考慮限制 顯然是一個(gè)數(shù)位dp 考慮位數(shù)小于n顯然滿足要求 考慮位 ...
BestCoder Round #27
Jump and Jump... Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 32768/32768 K (Java/Others) ...
總結(jié)
以上是生活随笔為你收集整理的bbsmax mysql_mysql 语句case when的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 前端学习(1645):前端系列实战课程之
- 下一篇: 前端学习(1855)vue之电商管理系统