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