{"id":211,"date":"2020-10-05T07:59:16","date_gmt":"2020-10-05T07:59:16","guid":{"rendered":"https:\/\/turtleflyblog.com\/?p=211"},"modified":"2022-02-28T09:48:54","modified_gmt":"2022-02-28T09:48:54","slug":"sql-case-zh","status":"publish","type":"post","link":"https:\/\/turtleflyblog.com\/zh\/2020\/10\/05\/sql-case-zh\/","title":{"rendered":"SQL CASE\u7684\u4f7f\u7528\u65b9\u6cd5"},"content":{"rendered":"\n
CASE\u9673\u8ff0\u53e5\u662fSQL-92\u5167\u6a19\u6e96SQL\u3002SQL\u5927\u5e2b\u6b0a\u5a01Joe Celko\u8a8d\u70baCASE\u9673\u8ff0\u5f0f\u6216\u8a31\u662fSQL-92\u6700\u70ba\u6709\u7528\u7684\u529f\u80fd\u4e4b\u4e00<\/em><\/strong>\u3002\u672c\u6587\u4e3b\u8981\u8b1b\u89e3CASE\u8a9e\u6cd5\u3002\u7576\u719f\u7df4\u5f8c\uff0c\u4e0d\u50c5\u80fd\u8b93SQL\u8a9e\u6cd5\u66f4\u52a0\u9748\u6d3b\uff0c\u4e5f\u80fd\u6e1b\u5c11\u8a31\u591a\u6c89\u9577\u7684\u8a9e\u53e5\u3002<\/p>\n\n\n\n CASE\u53ef\u5206\u70ba\u55ae\u7d14CASE\u9673\u8ff0\u5f0f(simple case)<\/p>\n\n\n\n CASE<\/strong><\/p>\n\n\n\n WHEN condition THEN result<\/strong><\/p>\n\n\n\n [WHEN\u00b7\u00b7\u00b7]<\/strong><\/p>\n\n\n\n [ELSE result]<\/strong><\/p>\n\n\n\n END<\/strong>;<\/p>\n\n\n\n \u548c\u641c\u5c0bCASE\u9673\u8ff0\u5f0f(searched case)<\/p>\n\n\n\n CASE expression<\/strong><\/p>\n\n\n\n WHEN value THEN result<\/strong><\/p>\n\n\n\n [WHEN\u00b7\u00b7\u00b7]<\/strong><\/p>\n\n\n\n [ELSE result]<\/strong><\/p>\n\n\n\n END<\/strong>;<\/p>\n\n\n\n \u6ce8\u610f<\/p>\n\n\n\n \u6211\u5011\u770b\u770b\u5982\u4f55\u4f7f\u7528case\u4f86\u6e1b\u5c11SQL\u8a9e\u6cd5\u64b0\u5beb\u3002<\/p>\n\n\n\n –\u689d\u4ef61<\/p>\n\n\n\n Update Employee<\/p>\n\n\n\n SET salary = salary * 0.9<\/p>\n\n\n\n WHERE salary >= 30000<\/p>\n\n\n\n –\u689d\u4ef62<\/p>\n\n\n\n Update Employee<\/p>\n\n\n\n SET salary = salary * 1.2<\/p>\n\n\n\n WHERE salary >= 25000 AND salary < 28000<\/p>\n\n\n\n \u73fe\u5728\u6211\u5011\u6539\u7528CASE<\/p>\n\n\n\n UPDATE Employee<\/p>\n\n\n\n SET salary = CASE WHEN salary >= 30000<\/p>\n\n\n\n THEN salary * 0.9<\/p>\n\n\n\n WHEN salary >= 25000 AND salary < 28000<\/p>\n\n\n\n THEN salary * 1.2<\/p>\n\n\n\n ELSE salary END;<\/p>\n\n\n\n \u4e0a\u4f8b\u986f\u793a\u6b63\u78ba\u4f7f\u7528case\u53ea\u9808\u57f7\u884c\u4e00\u6b21SQL\u6709\u52a9\u65bc\u63d0\u5347\u6548\u80fd<\/p>\n\n\n\n \u518d\u63d0\u51fa\u5169\u500b\u4f8b\u5b50<\/p>\n\n\n\n \u4f8b\u5b501<\/p>\n\n\n\n \u8868:sq1Q1<\/p>\n\n\n\n \u8a66\u8005\u5f9e\u9019\u5f35\u8cc7\u6599\u8868\u53d6\u5f97x\u8207y\u7684\u6700\u5927\u503c<\/p>\n\n\n\n SQL\u8a9e\u6cd5\u70ba:<\/p>\n\n\n\n \u7d50\u679c\u70ba<\/p>\n\n\n\n \u4f8b\u5b502<\/p>\n\n\n\n \u8868: PopTbl2<\/p>\n\n\n\n \u8acb\u88fd\u4f5c\u7e3d\u7d50\u679c\u4ee5\u53ca\u6b04\u4f4d\u7684\u4ea4\u53c9\u5206\u6790\u8868<\/p>\n\n\n\n SQL\u8a9e\u6cd5\u70ba:<\/p>\n\n\n\n \u719f\u7df4CASE\u8a9e\u53e5\u662fDBA\u4eba\u54e1\u5fc5\u5099\u7684\u689d\u4ef6\uff0c\u671f\u671b\u672c\u6587\u80fd\u63d0\u4f9b\u4e9b\u5e6b\u52a9\u3002<\/p>\n","protected":false},"excerpt":{"rendered":" CASE\u9673\u8ff0\u53e5\u662fSQL-92\u5167\u6a19\u6e96SQL\u3002SQL\u5927\u5e2b\u6b0a\u5a01Joe Celko\u8a8d\u70baCASE\u9673\u8ff0\u5f0f\u6216\u8a31\u662fSQL-92\u6700\u70ba\u6709\u7528\u7684\u529f\u80fd\u4e4b\u4e00\u3002\u672c\u6587\u4e3b\u8981\u8b1b\u89e3CASE\u8a9e\u6cd5\u3002\u7576\u719f\u7df4\u5f8c\uff0c\u4e0d\u50c5\u80fd\u8b93SQL\u8a9e\u6cd5\u66f4\u52a0\u9748\u6d3b\uff0c\u4e5f\u80fd\u6e1b\u5c11\u8a31\u591a\u6c89\u9577\u7684\u8a9e\u53e5\u3002 CASE\u53ef\u5206\u70ba\u55ae\u7d14CASE\u9673\u8ff0\u5f0f(simple case) CASE WHEN condition THEN result [WHEN\u00b7\u00b7\u00b7] [ELSE result] END; \u548c\u641c\u5c0bCASE\u9673\u8ff0\u5f0f(searched case) CASE expression WHEN value THEN result [WHEN\u00b7\u00b7\u00b7] [ELSE result] END; \u6ce8\u610f \u5404\u5206\u689d\u4ef6\u50b3\u56de\u7684\u8cc7\u6599\u985e\u578b\u5fc5\u9808\u4e00\u81f4 \u8a18\u5f97\u52a0\u4e0aEND \u4e00\u5b9a\u8981\u64b0\u5bebELSE\u9673\u8ff0\u53e5 \u6211\u5011\u770b\u770b\u5982\u4f55\u4f7f\u7528case\u4f86\u6e1b\u5c11SQL\u8a9e\u6cd5\u64b0\u5beb\u3002 –\u689d\u4ef61 Update Employee SET salary = salary * 0.9 WHERE salary >= 30000 –\u689d\u4ef62 Update Employee SET salary = […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[40],"tags":[],"class_list":["post-211","post","type-post","status-publish","format-standard","hentry","category-database-2"],"yoast_head":"\n<\/figure>\n\n\n\n
<\/figure>\n\n\n\n
<\/figure>\n\n\n\n
<\/figure>\n\n\n\n
<\/figure>\n\n\n\n
<\/figure>\n\n\n\n