{"kind": "psql", "major": "18", "item": {"slug": "cmd-65-6e-64-69-66", "name": "\\endif", "name_zh": "", "category": "\u811a\u672c\u4e0e\u5e2e\u52a9", "summary": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "aliases": ["\\endif"], "content_hash": "ecbc1f9282e20363a19ac6b5c2cff5724e7f5cf41966e8353fb92cd93009fa31", "versions": {"10": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 10.23"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=10", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=10", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=10", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=10", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\endif", "related": [{"url": "/wiki/psql/cmd-69-66/?v=10", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=10", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=10", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=10", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "label": "10.23", "major": "10", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/10/postgresql-10-A4.pdf", "bytes": 12631706, "pages": 2591, "sha256": "34497ab9efb45c5bdf1bd11b9016b5451354feb462fa029cf74557a5fa5fbbc1", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/10/postgresql-10-US.pdf", "bytes": 12531684, "pages": 2724, "sha256": "429cc7133ddf4f97c560aa466dc9caea4b718721a8321e293357037cf0af4733", "built_at": "2026-09-26"}}, "tree": "10", "index": "index.html", "major": "10", "pages": 1085, "release": "10.23", "source_url": "https://ftp.postgresql.org/pub/source/v10.23/postgresql-10.23.tar.bz2", "svg_assets": 0, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea", "evidence_kind": "English manual and source declarations", "source_sha256": "94a4b2528372458e5662c18d406629266667c437198160a18cdfd2c4a4d6eee9"}, "sources": [{"url": "/docs/10/app-psql.html#APP-PSQL-META-COMMANDS", "file": "app-psql.html", "label": "10.23 English manual \u00b7 app-psql.html", "anchor": "APP-PSQL-META-COMMANDS", "sha256": "9e11fe3148cb8c085808f632ed972aa4514332a67758a083a080169101eeb7a4"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/10/app-psql.html#APP-PSQL-META-COMMANDS", "anchor": "APP-PSQL-META-COMMANDS", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "d8122755e2eb3b6ec41a78b0f6218b4c63e0caac5190724266155c8abf3676f5", "fragment_sha256": "00710de44354c6ec8ff97e114edfb88418fc6c2d4bcc3ca514ee1a5baeeb37cc", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "ee829f32649d130724c72a203a76973b8f81da13ec24066a77a7c9c758cd56e7", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea"}, "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 10.23"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "sections": [], "center_zh": {"title": "\\endif", "locale": "zh-Hans", "source": {"key": "cmd-65-6e-64-69-66", "locale": "zh-Hans", "version": "10", "text_hash": "bf47c1f3279d0f812ab14c44afb66cef188d8824c668b4355e0e7b1bd40fd903", "collection": "psql", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea"}, "payload": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 10.23"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=10", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=10", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=10", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=10", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/10/app-psql.html#APP-PSQL-META-COMMANDS", "anchor": "APP-PSQL-META-COMMANDS", "locale": "zh-Hans", "version": "10", "build_id": 63, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "d8122755e2eb3b6ec41a78b0f6218b4c63e0caac5190724266155c8abf3676f5", "fragment_sha256": "00710de44354c6ec8ff97e114edfb88418fc6c2d4bcc3ca514ee1a5baeeb37cc", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:62997ea80516ad012fbf6359de33f3b016b54c47e2df76e75606116b4baaf8e5", "translated_from_revision": null}, "body_sha256": "ee829f32649d130724c72a203a76973b8f81da13ec24066a77a7c9c758cd56e7", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea"}, "sections": [], "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W", "description_zh_html": "<p>psql \u547d\u4ee4 \\if expression \\elif expression \\else \\endif\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002</p><p> <code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002</p><p>        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002</p><p>\u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002</p><p>        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a</p><pre class=\"programlisting\">-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif</pre></dd><p><a href=\"/zh/docs/10/app-psql.html#APP-PSQL-META-COMMANDS\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W", "version": "10", "link_map": {"/zh/docs/10/app-psql.html#APP-PSQL-META-COMMANDS": "/docs/10/app-psql.html#APP-PSQL-META-COMMANDS"}, "body_html": "<p>psql \u547d\u4ee4 \\if expression \\elif expression \\else \\endif\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code>\\if</code> \u5f00\u59cb\uff0c\u4ee5<code>\\endif</code> \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684<code>\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a<code>\\else</code> \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002</p><p> <code>\\if</code> \u548c<code>\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code>true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code>\\elif</code>\u3001<code>\\else</code> \u6216<code>\\endif</code>\u3002\u4e00\u65e6<code>\\if</code> \u6216<code>\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code>\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code>\\if</code> \u548c<code>\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code>\\else</code> \u540e\u9762\u7684\u884c\u3002</p><p>        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code>\\if</code> \u6216<code>\\elif</code> \u547d\u4ee4\u7684 <em><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code>true</code>\u3001<code>false</code>\u3001<code>1</code>\u3001<code>0</code>\u3001<code>on</code>\u3001<code>off</code>\u3001<code>yes</code>\u3001<code>no</code>\u3002\u4f8b\u5982\uff0c<code>t</code>\u3001<code>T</code> \u548c <code>tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code>true</code>\u3002\n        </p><p>\u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002</p><p>\u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08<code>\\if</code>\u3001<code>\\elif</code>\u3001<code>\\else</code>\u3001<code>\\endif</code>\uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002</p><p>        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code>\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code>\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span>psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a</p><pre>-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo &#39;is not a customer but is an employee&#39;\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo &#39;not a customer or employee&#39;\n    \\else\n        \\echo &#39;this will never print&#39;\n    \\endif\n\\endif</pre></dd><p><a href=\"/zh/docs/10/app-psql.html#APP-PSQL-META-COMMANDS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "2206e143c4621fbd9f01b4f90ddb3c308f1789f8591c5dd7c105f4e584fb0baf", "content_hash": "bf47c1f3279d0f812ab14c44afb66cef188d8824c668b4355e0e7b1bd40fd903", "source_database": "center", "source_revision": "f9301feba91e2e2566038a36b8cee0e4402db68989538f88670fddd20b1f78ea"}, "modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=10", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=10", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=10", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=10", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "description": ["\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W"], "manual_html": "", "manual_path": "app-psql.html#APP-PSQL-META-COMMANDS", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/10/app-psql.html", "method": "same-major semantic node", "sha256": "07e2383663e136e49c565dc43b76b773af4caa89393ce1854d32ec8cc15f2d3c", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[111]/p[0]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[111]/p[3]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[111]/p[4]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[111]/p[5]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[111]/p[6]"]}], "language": "zh", "original_text": {"/versions/10/description/0": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block.", "/versions/10/facts/0/label": "Client", "/versions/10/facts/1/label": "Case-sensitive spelling", "/versions/10/tables/0/title": "Spellings in this manual definition", "/versions/10/related/3/label": "psql command-line options and complete manual", "/versions/10/tables/0/columns/0/label": "Command", "/versions/10/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/10/tables/0/rows/0/modifiers": "None listed in this signature", "/versions/10/tables/0/rows/1/modifiers": "None listed in this signature", "/versions/10/tables/0/rows/2/modifiers": "None listed in this signature", "/versions/10/tables/0/rows/3/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "e0b3251eaa4e5e15ea21d6e7d2a3518f6c80f410ced611aff55e0a4d34718ff0", "canonical_center_text_hash": "bf47c1f3279d0f812ab14c44afb66cef188d8824c668b4355e0e7b1bd40fd903"}, "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W", "comparison_data": {"modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "definition": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block. The \\if and \\elif commands read their argument(s) and evaluate them as a boolean expression. If the expression yields true then processing continues normally; otherwise, lines are skipped until a matching \\elif , \\else , or \\endif is reached. Once an \\if or \\elif test has succeeded, the arguments of later \\elif commands in the same block are not evaluated but are treated as false. Lines following an \\else are processed only if no earlier matching \\if or \\elif succeeded. The expression argument of an \\if or \\elif command is subject to variable interpolation and backquote expansion, just like any other backslash command argument. After that it is evaluated like the value of an on/off option variable. So a valid value is any unambiguous case-insensitive match for one of: true , false , 1 , 0 , on , off , yes , no . For example, t , T , and tR will all be considered to be true . Expressions that do not properly evaluate to true or false will generate a warning and be treated as false. Lines being skipped are parsed normally to identify queries and backslash commands, but queries are not sent to the server, and backslash commands other than conditionals ( \\if , \\elif , \\else , \\endif ) are ignored. Conditional commands are checked only for valid nesting. Variable references in skipped lines are not expanded, and backquote expansion is not performed either. All the backslash commands of a given conditional block must appear in the same source file. If EOF is reached on the main input file or an \\include -ed file before all local \\if -blocks have been closed, then psql will raise an error. Here is an example: -- check for the existence of two separate records in the database and store -- the results in separate psql variables SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee \\gset \\if :is_customer SELECT * FROM customer WHERE customer_id = 123; \\elif :is_employee \\echo 'is not a customer but is an employee' SELECT * FROM employee WHERE employee_id = 456; \\else \\if yes \\echo 'not a customer or employee' \\else \\echo 'this will never print' \\endif \\endif"}, "comparison_hash": "6bc5a2ad59a45dac61053f17cb85dc6a6d3d73cf2b911344c3471f21f2d9273d", "manual_language": "zh", "description_zh_html": "<p>psql \u547d\u4ee4 \\if expression \\elif expression \\else \\endif\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code>\\if</code> \u5f00\u59cb\uff0c\u4ee5<code>\\endif</code> \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684<code>\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a<code>\\else</code> \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002</p><p> <code>\\if</code> \u548c<code>\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code>true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code>\\elif</code>\u3001<code>\\else</code> \u6216<code>\\endif</code>\u3002\u4e00\u65e6<code>\\if</code> \u6216<code>\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code>\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code>\\if</code> \u548c<code>\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code>\\else</code> \u540e\u9762\u7684\u884c\u3002</p><p>        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code>\\if</code> \u6216<code>\\elif</code> \u547d\u4ee4\u7684 <em><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code>true</code>\u3001<code>false</code>\u3001<code>1</code>\u3001<code>0</code>\u3001<code>on</code>\u3001<code>off</code>\u3001<code>yes</code>\u3001<code>no</code>\u3002\u4f8b\u5982\uff0c<code>t</code>\u3001<code>T</code> \u548c <code>tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code>true</code>\u3002\n        </p><p>\u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002</p><p>\u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08<code>\\if</code>\u3001<code>\\elif</code>\u3001<code>\\else</code>\u3001<code>\\endif</code>\uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002</p><p>        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code>\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code>\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span>psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a</p><pre>-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo &#39;is not a customer but is an employee&#39;\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo &#39;not a customer or employee&#39;\n    \\else\n        \\echo &#39;this will never print&#39;\n    \\endif\n\\endif</pre></dd><p><a href=\"/zh/docs/10/app-psql.html#APP-PSQL-META-COMMANDS\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "11": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 11.22"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=11", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=11", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=11", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=11", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\endif", "related": [{"url": "/wiki/psql/cmd-69-66/?v=11", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=11", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=11", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=11", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "label": "11.22", "major": "11", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/11/postgresql-11-A4.pdf", "bytes": 13057499, "pages": 2732, "sha256": "41d75855e610d0d9b8802b87dc5b080bef8d7e91c7cf69401fbf8d3cf801b4b5", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/11/postgresql-11-US.pdf", "bytes": 12961189, "pages": 2883, "sha256": "6a8899ef36935a5b7ed2b436207564a567a4ef1eb1c2200195876b8de4d4fa30", "built_at": "2026-09-26"}}, "tree": "11", "index": "index.html", "major": "11", "pages": 1125, "release": "11.22", "source_url": "https://ftp.postgresql.org/pub/source/v11.22/postgresql-11.22.tar.bz2", "svg_assets": 0, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f", "evidence_kind": "English manual and source declarations", "source_sha256": "2cb7c97d7a0d7278851bbc9c61f467b69c094c72b81740b751108e7892ebe1f0"}, "sources": [{"url": "/docs/11/app-psql.html#PSQL-METACOMMAND-IF", "file": "app-psql.html", "label": "11.22 English manual \u00b7 app-psql.html", "anchor": "PSQL-METACOMMAND-IF", "sha256": "32c4d489e91e59715de2f7c3264fcccab3dd1eca54673dbfeac61304b0c54d4d"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/11/app-psql.html#PSQL-METACOMMAND-IF", "anchor": "PSQL-METACOMMAND-IF", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "5d6b0e557e9e1f0aed36485762d9b52d3f89da8c674d11a394a38facf6bc66b1", "fragment_sha256": "5b26c2a814804138d9259f98f9bcd24db4fd83af766bcf0e231affbb07a84e52", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "ac3a3207f4f5579c45e8e69929029016862675a5d4f654c1ece5c22e83930007", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f"}, "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 11.22"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "sections": [], "center_zh": {"title": "\\endif", "locale": "zh-Hans", "source": {"key": "cmd-65-6e-64-69-66", "locale": "zh-Hans", "version": "11", "text_hash": "61877ed9c49d0aee48d7ea1cd2813af299d09432878fe6fca77ba54d75ed9958", "collection": "psql", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f"}, "payload": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 11.22"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=11", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=11", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=11", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=11", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/11/app-psql.html#PSQL-METACOMMAND-IF", "anchor": "PSQL-METACOMMAND-IF", "locale": "zh-Hans", "version": "11", "build_id": 64, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "5d6b0e557e9e1f0aed36485762d9b52d3f89da8c674d11a394a38facf6bc66b1", "fragment_sha256": "5b26c2a814804138d9259f98f9bcd24db4fd83af766bcf0e231affbb07a84e52", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:ef5c7bc074acae9795db16e6b7482aea3b222bd4bcce0f76831332b97a21e8a1", "translated_from_revision": null}, "body_sha256": "ac3a3207f4f5579c45e8e69929029016862675a5d4f654c1ece5c22e83930007", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f"}, "sections": [], "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W", "description_zh_html": "<p>psql \u547d\u4ee4 \\if expression \\elif expression \\else \\endif\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002</p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002</p><p>\u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002</p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a</p><pre class=\"programlisting\">-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd><p><a href=\"/zh/docs/11/app-psql.html#PSQL-METACOMMAND-IF\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W", "version": "11", "link_map": {"/zh/docs/11/app-psql.html#PSQL-METACOMMAND-IF": "/docs/11/app-psql.html#PSQL-METACOMMAND-IF"}, "body_html": "<p>psql \u547d\u4ee4 \\if expression \\elif expression \\else \\endif\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code>\\if</code> \u5f00\u59cb\uff0c\u4ee5<code>\\endif</code> \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684<code>\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a<code>\\else</code> \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002</p><p>\n<code>\\if</code> \u548c<code>\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code>true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code>\\elif</code>\u3001<code>\\else</code> \u6216<code>\\endif</code>\u3002\u4e00\u65e6<code>\\if</code> \u6216<code>\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code>\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code>\\if</code> \u548c<code>\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code>\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code>\\if</code> \u6216<code>\\elif</code> \u547d\u4ee4\u7684 <em><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code>true</code>\u3001<code>false</code>\u3001<code>1</code>\u3001<code>0</code>\u3001<code>on</code>\u3001<code>off</code>\u3001<code>yes</code>\u3001<code>no</code>\u3002\u4f8b\u5982\uff0c<code>t</code>\u3001<code>T</code> \u548c <code>tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code>true</code>\u3002\n        </p><p>\u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002</p><p>\u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08<code>\\if</code>\u3001<code>\\elif</code>\u3001<code>\\else</code>\u3001<code>\\endif</code>\uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002</p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code>\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code>\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span>psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a</p><pre>-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo &#39;is not a customer but is an employee&#39;\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo &#39;not a customer or employee&#39;\n    \\else\n        \\echo &#39;this will never print&#39;\n    \\endif\n\\endif\n</pre></dd><p><a href=\"/zh/docs/11/app-psql.html#PSQL-METACOMMAND-IF\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "12d56a58f980954235149ef9b298cc0e3749385dfb55dabb681784ec5439fbab", "content_hash": "61877ed9c49d0aee48d7ea1cd2813af299d09432878fe6fca77ba54d75ed9958", "source_database": "center", "source_revision": "53315ddaf3b3f9e6669fd1edc096bbb2cd4a65ea3e836c89e542b43af9ba3a7f"}, "modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=11", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=11", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=11", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=11", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "description": ["\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W"], "manual_html": "", "manual_path": "app-psql.html#PSQL-METACOMMAND-IF", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/11/app-psql.html", "method": "same-major semantic node", "sha256": "01339254dd1dc30d095af846d0b6a7c01f96338187a6fbb8cf45290d5941196b", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[113]/p[0]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[113]/p[3]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[113]/p[4]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[113]/p[5]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[113]/p[6]"]}], "language": "zh", "original_text": {"/versions/11/description/0": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block.", "/versions/11/facts/0/label": "Client", "/versions/11/facts/1/label": "Case-sensitive spelling", "/versions/11/tables/0/title": "Spellings in this manual definition", "/versions/11/related/3/label": "psql command-line options and complete manual", "/versions/11/tables/0/columns/0/label": "Command", "/versions/11/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/11/tables/0/rows/0/modifiers": "None listed in this signature", "/versions/11/tables/0/rows/1/modifiers": "None listed in this signature", "/versions/11/tables/0/rows/2/modifiers": "None listed in this signature", "/versions/11/tables/0/rows/3/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "f5294687f8f369cf974a3a960f98f4451e90aa99b6294d7c43d132d4380afc50", "canonical_center_text_hash": "61877ed9c49d0aee48d7ea1cd2813af299d09432878fe6fca77ba54d75ed9958"}, "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W", "comparison_data": {"modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "definition": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block. The \\if and \\elif commands read their argument(s) and evaluate them as a boolean expression. If the expression yields true then processing continues normally; otherwise, lines are skipped until a matching \\elif , \\else , or \\endif is reached. Once an \\if or \\elif test has succeeded, the arguments of later \\elif commands in the same block are not evaluated but are treated as false. Lines following an \\else are processed only if no earlier matching \\if or \\elif succeeded. The expression argument of an \\if or \\elif command is subject to variable interpolation and backquote expansion, just like any other backslash command argument. After that it is evaluated like the value of an on/off option variable. So a valid value is any unambiguous case-insensitive match for one of: true , false , 1 , 0 , on , off , yes , no . For example, t , T , and tR will all be considered to be true . Expressions that do not properly evaluate to true or false will generate a warning and be treated as false. Lines being skipped are parsed normally to identify queries and backslash commands, but queries are not sent to the server, and backslash commands other than conditionals ( \\if , \\elif , \\else , \\endif ) are ignored. Conditional commands are checked only for valid nesting. Variable references in skipped lines are not expanded, and backquote expansion is not performed either. All the backslash commands of a given conditional block must appear in the same source file. If EOF is reached on the main input file or an \\include -ed file before all local \\if -blocks have been closed, then psql will raise an error. Here is an example: -- check for the existence of two separate records in the database and store -- the results in separate psql variables SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee \\gset \\if :is_customer SELECT * FROM customer WHERE customer_id = 123; \\elif :is_employee \\echo 'is not a customer but is an employee' SELECT * FROM employee WHERE employee_id = 456; \\else \\if yes \\echo 'not a customer or employee' \\else \\echo 'this will never print' \\endif \\endif"}, "comparison_hash": "6bc5a2ad59a45dac61053f17cb85dc6a6d3d73cf2b911344c3471f21f2d9273d", "manual_language": "zh", "description_zh_html": "<p>psql \u547d\u4ee4 \\if expression \\elif expression \\else \\endif\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code>\\if</code> \u5f00\u59cb\uff0c\u4ee5<code>\\endif</code> \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684<code>\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a<code>\\else</code> \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002</p><p>\n<code>\\if</code> \u548c<code>\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code>true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code>\\elif</code>\u3001<code>\\else</code> \u6216<code>\\endif</code>\u3002\u4e00\u65e6<code>\\if</code> \u6216<code>\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code>\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code>\\if</code> \u548c<code>\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code>\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code>\\if</code> \u6216<code>\\elif</code> \u547d\u4ee4\u7684 <em><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code>true</code>\u3001<code>false</code>\u3001<code>1</code>\u3001<code>0</code>\u3001<code>on</code>\u3001<code>off</code>\u3001<code>yes</code>\u3001<code>no</code>\u3002\u4f8b\u5982\uff0c<code>t</code>\u3001<code>T</code> \u548c <code>tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code>true</code>\u3002\n        </p><p>\u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002</p><p>\u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08<code>\\if</code>\u3001<code>\\elif</code>\u3001<code>\\else</code>\u3001<code>\\endif</code>\uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002</p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code>\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code>\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span>psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a</p><pre>-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo &#39;is not a customer but is an employee&#39;\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo &#39;not a customer or employee&#39;\n    \\else\n        \\echo &#39;this will never print&#39;\n    \\endif\n\\endif\n</pre></dd><p><a href=\"/zh/docs/11/app-psql.html#PSQL-METACOMMAND-IF\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "12": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 12.22"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=12", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=12", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=12", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=12", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\endif", "related": [{"url": "/wiki/psql/cmd-69-66/?v=12", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=12", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=12", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=12", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "label": "12.22", "major": "12", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/12/postgresql-12-A4.pdf", "bytes": 13424351, "pages": 2803, "sha256": "7422cf53fd1939e7a3d2925231a88b0330e468afa5393627cac0ff86158a0621", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/12/postgresql-12-US.pdf", "bytes": 13322565, "pages": 2958, "sha256": "51f3b04e72907fc38512685946223452ea65f84419c60c66241dfa3396035e77", "built_at": "2026-09-26"}}, "tree": "12", "index": "index.html", "major": "12", "pages": 1131, "release": "12.22", "source_url": "https://ftp.postgresql.org/pub/source/v12.22/postgresql-12.22.tar.bz2", "svg_assets": 2, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4", "evidence_kind": "English manual and source declarations", "source_sha256": "8df3c0474782589d3c6f374b5133b1bd14d168086edbc13c6e72e67dd4527a3b"}, "sources": [{"url": "/docs/12/app-psql.html#PSQL-METACOMMAND-IF", "file": "app-psql.html", "label": "12.22 English manual \u00b7 app-psql.html", "anchor": "PSQL-METACOMMAND-IF", "sha256": "a5cec5a456a98610e98d1f1959d96ce57c8413bb392f0f5d6720fc561bb63627"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/12/app-psql.html#PSQL-METACOMMAND-IF", "anchor": "PSQL-METACOMMAND-IF", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "8036faa7b026a8cae7af58d1fc5d09a60491dbad5f0fdada98b4bddf617018e4", "fragment_sha256": "5b26c2a814804138d9259f98f9bcd24db4fd83af766bcf0e231affbb07a84e52", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "a7dcf98623e791b3497732f1e90869cbb728073d4139a85e6dfa62c129f93b37", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4"}, "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 12.22"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "sections": [], "center_zh": {"title": "\\endif", "locale": "zh-Hans", "source": {"key": "cmd-65-6e-64-69-66", "locale": "zh-Hans", "version": "12", "text_hash": "95e5c00c86caf2a4fb22fdd3bef311fffdf6058930107496a93a6ce19f5a33c2", "collection": "psql", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4"}, "payload": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 12.22"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=12", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=12", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=12", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=12", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/12/app-psql.html#PSQL-METACOMMAND-IF", "anchor": "PSQL-METACOMMAND-IF", "locale": "zh-Hans", "version": "12", "build_id": 65, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "8036faa7b026a8cae7af58d1fc5d09a60491dbad5f0fdada98b4bddf617018e4", "fragment_sha256": "5b26c2a814804138d9259f98f9bcd24db4fd83af766bcf0e231affbb07a84e52", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:86d2ff781f93e1de17122ebc514d5e64fcb63fed15941f496d7e146c6dcc7a49", "translated_from_revision": null}, "body_sha256": "a7dcf98623e791b3497732f1e90869cbb728073d4139a85e6dfa62c129f93b37", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4"}, "sections": [], "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W", "description_zh_html": "<p>psql \u547d\u4ee4 \\if expression \\elif expression \\else \\endif\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002</p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002</p><p>\u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002</p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a</p><pre class=\"programlisting\">-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd><p><a href=\"/zh/docs/12/app-psql.html#PSQL-METACOMMAND-IF\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W", "version": "12", "link_map": {"/zh/docs/12/app-psql.html#PSQL-METACOMMAND-IF": "/docs/12/app-psql.html#PSQL-METACOMMAND-IF"}, "body_html": "<p>psql \u547d\u4ee4 \\if expression \\elif expression \\else \\endif\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code>\\if</code> \u5f00\u59cb\uff0c\u4ee5<code>\\endif</code> \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684<code>\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a<code>\\else</code> \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002</p><p>\n<code>\\if</code> \u548c<code>\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code>true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code>\\elif</code>\u3001<code>\\else</code> \u6216<code>\\endif</code>\u3002\u4e00\u65e6<code>\\if</code> \u6216<code>\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code>\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code>\\if</code> \u548c<code>\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code>\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code>\\if</code> \u6216<code>\\elif</code> \u547d\u4ee4\u7684 <em><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code>true</code>\u3001<code>false</code>\u3001<code>1</code>\u3001<code>0</code>\u3001<code>on</code>\u3001<code>off</code>\u3001<code>yes</code>\u3001<code>no</code>\u3002\u4f8b\u5982\uff0c<code>t</code>\u3001<code>T</code> \u548c <code>tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code>true</code>\u3002\n        </p><p>\u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002</p><p>\u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08<code>\\if</code>\u3001<code>\\elif</code>\u3001<code>\\else</code>\u3001<code>\\endif</code>\uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002</p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code>\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code>\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span>psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a</p><pre>-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo &#39;is not a customer but is an employee&#39;\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo &#39;not a customer or employee&#39;\n    \\else\n        \\echo &#39;this will never print&#39;\n    \\endif\n\\endif\n</pre></dd><p><a href=\"/zh/docs/12/app-psql.html#PSQL-METACOMMAND-IF\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "28c596f57af236cfb9c3b247f76bceeb1f9402dab2138058a7c04afd91be66dd", "content_hash": "95e5c00c86caf2a4fb22fdd3bef311fffdf6058930107496a93a6ce19f5a33c2", "source_database": "center", "source_revision": "7a827e97cbfacd7febff75f34443e2043e40723de5b6d8c9d81a9430b65a37e4"}, "modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=12", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=12", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=12", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=12", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "description": ["\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W"], "manual_html": "", "manual_path": "app-psql.html#PSQL-METACOMMAND-IF", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/12/app-psql.html", "method": "same-major semantic node", "sha256": "1eb88d17f6ce811d722e5c4ed036f78a7872bf88410c08db794c428e3cfc98ce", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[115]/p[0]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[115]/p[3]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[115]/p[4]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[115]/p[5]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[115]/p[6]"]}], "language": "zh", "original_text": {"/versions/12/description/0": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block.", "/versions/12/facts/0/label": "Client", "/versions/12/facts/1/label": "Case-sensitive spelling", "/versions/12/tables/0/title": "Spellings in this manual definition", "/versions/12/related/3/label": "psql command-line options and complete manual", "/versions/12/tables/0/columns/0/label": "Command", "/versions/12/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/12/tables/0/rows/0/modifiers": "None listed in this signature", "/versions/12/tables/0/rows/1/modifiers": "None listed in this signature", "/versions/12/tables/0/rows/2/modifiers": "None listed in this signature", "/versions/12/tables/0/rows/3/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "7b646f97dff87c0a0362f6a2b2a6f98ff289b7b0df353e8ab5af3a7c1c1cbcea", "canonical_center_text_hash": "95e5c00c86caf2a4fb22fdd3bef311fffdf6058930107496a93a6ce19f5a33c2"}, "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W", "comparison_data": {"modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "definition": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block. The \\if and \\elif commands read their argument(s) and evaluate them as a boolean expression. If the expression yields true then processing continues normally; otherwise, lines are skipped until a matching \\elif , \\else , or \\endif is reached. Once an \\if or \\elif test has succeeded, the arguments of later \\elif commands in the same block are not evaluated but are treated as false. Lines following an \\else are processed only if no earlier matching \\if or \\elif succeeded. The expression argument of an \\if or \\elif command is subject to variable interpolation and backquote expansion, just like any other backslash command argument. After that it is evaluated like the value of an on/off option variable. So a valid value is any unambiguous case-insensitive match for one of: true , false , 1 , 0 , on , off , yes , no . For example, t , T , and tR will all be considered to be true . Expressions that do not properly evaluate to true or false will generate a warning and be treated as false. Lines being skipped are parsed normally to identify queries and backslash commands, but queries are not sent to the server, and backslash commands other than conditionals ( \\if , \\elif , \\else , \\endif ) are ignored. Conditional commands are checked only for valid nesting. Variable references in skipped lines are not expanded, and backquote expansion is not performed either. All the backslash commands of a given conditional block must appear in the same source file. If EOF is reached on the main input file or an \\include -ed file before all local \\if -blocks have been closed, then psql will raise an error. Here is an example: -- check for the existence of two separate records in the database and store -- the results in separate psql variables SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee \\gset \\if :is_customer SELECT * FROM customer WHERE customer_id = 123; \\elif :is_employee \\echo 'is not a customer but is an employee' SELECT * FROM employee WHERE employee_id = 456; \\else \\if yes \\echo 'not a customer or employee' \\else \\echo 'this will never print' \\endif \\endif"}, "comparison_hash": "6bc5a2ad59a45dac61053f17cb85dc6a6d3d73cf2b911344c3471f21f2d9273d", "manual_language": "zh", "description_zh_html": "<p>psql \u547d\u4ee4 \\if expression \\elif expression \\else \\endif\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code>\\if</code> \u5f00\u59cb\uff0c\u4ee5<code>\\endif</code> \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684<code>\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a<code>\\else</code> \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002</p><p>\n<code>\\if</code> \u548c<code>\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code>true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code>\\elif</code>\u3001<code>\\else</code> \u6216<code>\\endif</code>\u3002\u4e00\u65e6<code>\\if</code> \u6216<code>\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code>\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code>\\if</code> \u548c<code>\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code>\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code>\\if</code> \u6216<code>\\elif</code> \u547d\u4ee4\u7684 <em><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code>true</code>\u3001<code>false</code>\u3001<code>1</code>\u3001<code>0</code>\u3001<code>on</code>\u3001<code>off</code>\u3001<code>yes</code>\u3001<code>no</code>\u3002\u4f8b\u5982\uff0c<code>t</code>\u3001<code>T</code> \u548c <code>tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code>true</code>\u3002\n        </p><p>\u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002</p><p>\u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08<code>\\if</code>\u3001<code>\\elif</code>\u3001<code>\\else</code>\u3001<code>\\endif</code>\uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002</p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code>\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code>\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span>psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a</p><pre>-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo &#39;is not a customer but is an employee&#39;\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo &#39;not a customer or employee&#39;\n    \\else\n        \\echo &#39;this will never print&#39;\n    \\endif\n\\endif\n</pre></dd><p><a href=\"/zh/docs/12/app-psql.html#PSQL-METACOMMAND-IF\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "13": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 13.23"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=13", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=13", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=13", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=13", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\endif", "related": [{"url": "/wiki/psql/cmd-69-66/?v=13", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=13", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=13", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=13", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "label": "13.23", "major": "13", "channel": "historical", "manifest": {"pdf": {"A4": {"url": "/files/documentation/pdf/13/postgresql-13-A4.pdf", "bytes": 13843239, "pages": 2826, "sha256": "171cc09f90936dbc1cbd503a98ff07ae72ea58ab9771ff051313f1217737799c", "built_at": "2026-09-26"}, "US": {"url": "/files/documentation/pdf/13/postgresql-13-US.pdf", "bytes": 13739572, "pages": 2984, "sha256": "48d09c6e197d9db4220f41afe83efe848a8661b1b168d3b89419751ecaf6c24d", "built_at": "2026-09-26"}}, "tree": "13", "index": "index.html", "major": "13", "pages": 1139, "release": "13.23", "source_url": "https://ftp.postgresql.org/pub/source/v13.23/postgresql-13.23.tar.bz2", "svg_assets": 3, "source_mode": "en HTML verified against the pinned official archive", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6", "evidence_kind": "English manual and source declarations", "source_sha256": "6ec3c82726af92b7dec873fa1cdf881eca92a4219787dfad05acb6b10e041fd6"}, "sources": [{"url": "/docs/13/app-psql.html#PSQL-METACOMMAND-IF", "file": "app-psql.html", "label": "13.23 English manual \u00b7 app-psql.html", "anchor": "PSQL-METACOMMAND-IF", "sha256": "30347083b7a58da020d968643e2479d2dfb534191d4493d454603ca53db151b0"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/13/app-psql.html#PSQL-METACOMMAND-IF", "anchor": "PSQL-METACOMMAND-IF", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "a5500221235ed19029b98fb69f0d6465a7bf1d0939420838c240c2cd53b2eca3", "fragment_sha256": "5b26c2a814804138d9259f98f9bcd24db4fd83af766bcf0e231affbb07a84e52", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "695885be8760a381c794335c3f5b3128a1e6f1fb6b9aff093325e76fb6b30d06", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6"}, "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 13.23"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "sections": [], "center_zh": {"title": "\\endif", "locale": "zh-Hans", "source": {"key": "cmd-65-6e-64-69-66", "locale": "zh-Hans", "version": "13", "text_hash": "95539131374918b3b3ec00c36dcf27aafd75e21d0ef68325f46e28a056ef24cd", "collection": "psql", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6"}, "payload": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 13.23"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=13", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=13", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=13", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=13", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/13/app-psql.html#PSQL-METACOMMAND-IF", "anchor": "PSQL-METACOMMAND-IF", "locale": "zh-Hans", "version": "13", "build_id": 66, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "a5500221235ed19029b98fb69f0d6465a7bf1d0939420838c240c2cd53b2eca3", "fragment_sha256": "5b26c2a814804138d9259f98f9bcd24db4fd83af766bcf0e231affbb07a84e52", "source_revision": "unknown:rendered-translation-baseline", "translation_revision": "snapshot:sha256:a13a825c39f0268ef1cfe9137e283e38d0da73b2d7894f0733c7b26372a4f6a4", "translated_from_revision": null}, "body_sha256": "695885be8760a381c794335c3f5b3128a1e6f1fb6b9aff093325e76fb6b30d06", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6"}, "sections": [], "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W", "description_zh_html": "<p>psql \u547d\u4ee4 \\if expression \\elif expression \\else \\endif\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002</p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002</p><p>\u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002</p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a</p><pre class=\"programlisting\">-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd><p><a href=\"/zh/docs/13/app-psql.html#PSQL-METACOMMAND-IF\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W", "version": "13", "link_map": {"/zh/docs/13/app-psql.html#PSQL-METACOMMAND-IF": "/docs/13/app-psql.html#PSQL-METACOMMAND-IF"}, "body_html": "<p>psql \u547d\u4ee4 \\if expression \\elif expression \\else \\endif\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code>\\if</code> \u5f00\u59cb\uff0c\u4ee5<code>\\endif</code> \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684<code>\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a<code>\\else</code> \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002</p><p>\n<code>\\if</code> \u548c<code>\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code>true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code>\\elif</code>\u3001<code>\\else</code> \u6216<code>\\endif</code>\u3002\u4e00\u65e6<code>\\if</code> \u6216<code>\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code>\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code>\\if</code> \u548c<code>\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code>\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code>\\if</code> \u6216<code>\\elif</code> \u547d\u4ee4\u7684 <em><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code>true</code>\u3001<code>false</code>\u3001<code>1</code>\u3001<code>0</code>\u3001<code>on</code>\u3001<code>off</code>\u3001<code>yes</code>\u3001<code>no</code>\u3002\u4f8b\u5982\uff0c<code>t</code>\u3001<code>T</code> \u548c <code>tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code>true</code>\u3002\n        </p><p>\u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002</p><p>\u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08<code>\\if</code>\u3001<code>\\elif</code>\u3001<code>\\else</code>\u3001<code>\\endif</code>\uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002</p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code>\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code>\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span>psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a</p><pre>-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo &#39;is not a customer but is an employee&#39;\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo &#39;not a customer or employee&#39;\n    \\else\n        \\echo &#39;this will never print&#39;\n    \\endif\n\\endif\n</pre></dd><p><a href=\"/zh/docs/13/app-psql.html#PSQL-METACOMMAND-IF\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "b7e8794156f5b3e2da7329c8783ce79ef183c472c3b55f369f14034977c0a3be", "content_hash": "95539131374918b3b3ec00c36dcf27aafd75e21d0ef68325f46e28a056ef24cd", "source_database": "center", "source_revision": "614ee3133270254e476c118cdf6f72af78d4e4b8bbd9b28ed9ab1e14e4e9c0f6"}, "modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=13", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=13", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=13", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=13", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "description": ["\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W"], "manual_html": "", "manual_path": "app-psql.html#PSQL-METACOMMAND-IF", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/13/app-psql.html", "method": "same-major semantic node", "sha256": "dd2bf63d81b9a9d3fc69c646197cfdc14a0b1bab1c9f0b98608d66554da4a261", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[123]/p[0]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[123]/p[3]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[123]/p[4]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[123]/p[5]", "#APP-PSQL/div[7]/div[3]/div[10]/dl[0]/dd[123]/p[6]"]}], "language": "zh", "original_text": {"/versions/13/description/0": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block.", "/versions/13/facts/0/label": "Client", "/versions/13/facts/1/label": "Case-sensitive spelling", "/versions/13/tables/0/title": "Spellings in this manual definition", "/versions/13/related/3/label": "psql command-line options and complete manual", "/versions/13/tables/0/columns/0/label": "Command", "/versions/13/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/13/tables/0/rows/0/modifiers": "None listed in this signature", "/versions/13/tables/0/rows/1/modifiers": "None listed in this signature", "/versions/13/tables/0/rows/2/modifiers": "None listed in this signature", "/versions/13/tables/0/rows/3/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "d015640da681bf743968c7f5c3d99f95571766558b68a0510a86a3b4172ef4ef", "canonical_center_text_hash": "95539131374918b3b3ec00c36dcf27aafd75e21d0ef68325f46e28a056ef24cd"}, "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u4ee5 \\endif \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee W", "comparison_data": {"modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "definition": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block. The \\if and \\elif commands read their argument(s) and evaluate them as a boolean expression. If the expression yields true then processing continues normally; otherwise, lines are skipped until a matching \\elif , \\else , or \\endif is reached. Once an \\if or \\elif test has succeeded, the arguments of later \\elif commands in the same block are not evaluated but are treated as false. Lines following an \\else are processed only if no earlier matching \\if or \\elif succeeded. The expression argument of an \\if or \\elif command is subject to variable interpolation and backquote expansion, just like any other backslash command argument. After that it is evaluated like the value of an on/off option variable. So a valid value is any unambiguous case-insensitive match for one of: true , false , 1 , 0 , on , off , yes , no . For example, t , T , and tR will all be considered to be true . Expressions that do not properly evaluate to true or false will generate a warning and be treated as false. Lines being skipped are parsed normally to identify queries and backslash commands, but queries are not sent to the server, and backslash commands other than conditionals ( \\if , \\elif , \\else , \\endif ) are ignored. Conditional commands are checked only for valid nesting. Variable references in skipped lines are not expanded, and backquote expansion is not performed either. All the backslash commands of a given conditional block must appear in the same source file. If EOF is reached on the main input file or an \\include -ed file before all local \\if -blocks have been closed, then psql will raise an error. Here is an example: -- check for the existence of two separate records in the database and store -- the results in separate psql variables SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee \\gset \\if :is_customer SELECT * FROM customer WHERE customer_id = 123; \\elif :is_employee \\echo 'is not a customer but is an employee' SELECT * FROM employee WHERE employee_id = 456; \\else \\if yes \\echo 'not a customer or employee' \\else \\echo 'this will never print' \\endif \\endif"}, "comparison_hash": "6bc5a2ad59a45dac61053f17cb85dc6a6d3d73cf2b911344c3471f21f2d9273d", "manual_language": "zh", "description_zh_html": "<p>psql \u547d\u4ee4 \\if expression \\elif expression \\else \\endif\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code>\\if</code> \u5f00\u59cb\uff0c\u4ee5<code>\\endif</code> \u7ed3\u675f\u3002\u4e2d\u95f4\u53ef\u4ee5\u5305\u542b\u4efb\u610f\u6570\u91cf\u7684<code>\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u8fd8\u53ef\u4ee5\u9009\u62e9\u8ddf\u968f\u4e00\u4e2a<code>\\else</code> \u5b50\u53e5\u3002\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u53ef\u4ee5\uff08\u901a\u5e38\u4e5f\u4f1a\uff09\u51fa\u73b0\u5728\u6784\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u3002</p><p>\n<code>\\if</code> \u548c<code>\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code>true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code>\\elif</code>\u3001<code>\\else</code> \u6216<code>\\endif</code>\u3002\u4e00\u65e6<code>\\if</code> \u6216<code>\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code>\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code>\\if</code> \u548c<code>\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code>\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code>\\if</code> \u6216<code>\\elif</code> \u547d\u4ee4\u7684 <em><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code>true</code>\u3001<code>false</code>\u3001<code>1</code>\u3001<code>0</code>\u3001<code>on</code>\u3001<code>off</code>\u3001<code>yes</code>\u3001<code>no</code>\u3002\u4f8b\u5982\uff0c<code>t</code>\u3001<code>T</code> \u548c <code>tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code>true</code>\u3002\n        </p><p>\u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002</p><p>\u88ab\u8df3\u8fc7\u7684\u884c\u4ecd\u4f1a\u6b63\u5e38\u89e3\u6790\uff0c\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u7ed9\u670d\u52a1\u5668\uff0c\u6761\u4ef6\u547d\u4ee4\uff08<code>\\if</code>\u3001<code>\\elif</code>\u3001<code>\\else</code>\u3001<code>\\endif</code>\uff09\u4ee5\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u5bf9\u4e8e\u6761\u4ef6\u547d\u4ee4\uff0c\u53ea\u68c0\u67e5\u5d4c\u5957\u662f\u5426\u5408\u6cd5\u3002\u88ab\u8df3\u8fc7\u7684\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002</p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code>\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code>\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span>psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a</p><pre>-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo &#39;is not a customer but is an employee&#39;\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo &#39;not a customer or employee&#39;\n    \\else\n        \\echo &#39;this will never print&#39;\n    \\endif\n\\endif\n</pre></dd><p><a href=\"/zh/docs/13/app-psql.html#PSQL-METACOMMAND-IF\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "14": {"lang": "zh", "facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 14.25"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=14", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=14", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=14", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=14", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\endif", "related": [{"url": "/wiki/psql/cmd-69-66/?v=14", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=14", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=14", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=14", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v14.25/postgresql-14.25.tar.bz2", "label": "14.25", "major": "14", "channel": "stable", "manifest": {"major": "14", "release": "14.25", "source_url": "https://ftp.postgresql.org/pub/source/v14.25/postgresql-14.25.tar.bz2", "source_sha256": "09af980eb3a5d0a8ad7a34b95031b1988bbcd430c87700a62d6234c0ed97ae4c"}, "revision": "3458c6c18c8d4de5bbf0e6a5e72e5d2a815a2604b1cef6d1ec84491c75e57d2f", "evidence_kind": "English manual and source declarations", "source_sha256": "09af980eb3a5d0a8ad7a34b95031b1988bbcd430c87700a62d6234c0ed97ae4c"}, "sources": [{"url": "/docs/14/app-psql.html#PSQL-METACOMMAND-IF", "file": "app-psql.html", "label": "14.25 English manual \u00b7 app-psql.html", "anchor": "PSQL-METACOMMAND-IF", "sha256": "ea99b69e21da51aab6382e82434cfb27bfb24f452abe7bbb4b1fb29319f081b0"}], "zh_from": "same-version-manual", "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 14.25"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "description_zh_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>"}, "summary": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "body_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "body_sha256": "f12fb6fd6d016039071f9ab51915cf638499ea817f5a170cd4a5231d1808ebb2", "content_hash": "64d5d2b7c16115083c27bef780358d905347721b2ebd82c296ac6d04d7bf8dc1", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "14", "documentation_release": "14.25"}, "modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=14", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=14", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=14", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=14", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "related_zh": [{"url": "/wiki/psql/cmd-69-66/?v=14", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=14", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=14", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=14", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "description": ["\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002"], "manual_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "manual_path": "app-psql.html#PSQL-METACOMMAND-IF", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "14.25"}, "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "comparison_data": {"modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "definition": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block. The \\if and \\elif commands read their argument(s) and evaluate them as a Boolean expression. If the expression yields true then processing continues normally; otherwise, lines are skipped until a matching \\elif , \\else , or \\endif is reached. Once an \\if or \\elif test has succeeded, the arguments of later \\elif commands in the same block are not evaluated but are treated as false. Lines following an \\else are processed only if no earlier matching \\if or \\elif succeeded. The expression argument of an \\if or \\elif command is subject to variable interpolation and backquote expansion, just like any other backslash command argument. After that it is evaluated like the value of an on/off option variable. So a valid value is any unambiguous case-insensitive match for one of: true , false , 1 , 0 , on , off , yes , no . For example, t , T , and tR will all be considered to be true . Expressions that do not properly evaluate to true or false will generate a warning and be treated as false. Lines being skipped are parsed normally to identify queries and backslash commands, but queries are not sent to the server, and backslash commands other than conditionals ( \\if , \\elif , \\else , \\endif ) are ignored. Conditional commands are checked only for valid nesting. Variable references in skipped lines are not expanded, and backquote expansion is not performed either. All the backslash commands of a given conditional block must appear in the same source file. If EOF is reached on the main input file or an \\include -ed file before all local \\if -blocks have been closed, then psql will raise an error. Here is an example: -- check for the existence of two separate records in the database and store -- the results in separate psql variables SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee \\gset \\if :is_customer SELECT * FROM customer WHERE customer_id = 123; \\elif :is_employee \\echo 'is not a customer but is an employee' SELECT * FROM employee WHERE employee_id = 456; \\else \\if yes \\echo 'not a customer or employee' \\else \\echo 'this will never print' \\endif \\endif"}, "comparison_hash": "8ce3164f0726c6db12fcfde01f634f006acec0974c0cbadae292d925e62cd49a", "manual_language": "zh", "description_zh_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "documentation_revision": {"inputs": [{"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "en", "sha256": "ea99b69e21da51aab6382e82434cfb27bfb24f452abe7bbb4b1fb29319f081b0", "version": "14.25"}, {"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "zh-Hans", "sha256": "f2eed17e1379e0b59f4bf5a92289a41d8ec44b349f2b069962f186547dc717ef", "version": "14.25"}], "release": "14.25", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "runtime_remeasured": false}}, "15": {"lang": "zh", "facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 15.20"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=15", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=15", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=15", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=15", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\endif", "related": [{"url": "/wiki/psql/cmd-69-66/?v=15", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=15", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=15", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=15", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v15.20/postgresql-15.20.tar.bz2", "label": "15.20", "major": "15", "channel": "stable", "manifest": {"major": "15", "release": "15.20", "source_url": "https://ftp.postgresql.org/pub/source/v15.20/postgresql-15.20.tar.bz2", "source_sha256": "30e65cbbb771a39b553ed2df7e65622e65647aed55dbc19bd0fe853ff0a08442"}, "revision": "6d870676353ceb5b021cc09084428ae294e90804236e38ffe556364784ee5fe5", "evidence_kind": "English manual and source declarations", "source_sha256": "30e65cbbb771a39b553ed2df7e65622e65647aed55dbc19bd0fe853ff0a08442"}, "sources": [{"url": "/docs/15/app-psql.html#PSQL-METACOMMAND-IF", "file": "app-psql.html", "label": "15.20 English manual \u00b7 app-psql.html", "anchor": "PSQL-METACOMMAND-IF", "sha256": "b2a45145fd66cf7a28d7197594e8437e3b0310e88cdedf9d789c0fceefeebc27"}], "zh_from": "same-version-manual", "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 15.20"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "description_zh_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>"}, "summary": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "body_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "body_sha256": "f12fb6fd6d016039071f9ab51915cf638499ea817f5a170cd4a5231d1808ebb2", "content_hash": "d81c4ec1cb7c0034a29f00fa510e69c5e884c43ca5c0bd9c50a0246e38f72413", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "15", "documentation_release": "15.20"}, "modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=15", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=15", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=15", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=15", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "related_zh": [{"url": "/wiki/psql/cmd-69-66/?v=15", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=15", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=15", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=15", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "description": ["\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002"], "manual_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "manual_path": "app-psql.html#PSQL-METACOMMAND-IF", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "15.20"}, "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "comparison_data": {"modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "definition": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block. The \\if and \\elif commands read their argument(s) and evaluate them as a Boolean expression. If the expression yields true then processing continues normally; otherwise, lines are skipped until a matching \\elif , \\else , or \\endif is reached. Once an \\if or \\elif test has succeeded, the arguments of later \\elif commands in the same block are not evaluated but are treated as false. Lines following an \\else are processed only if no earlier matching \\if or \\elif succeeded. The expression argument of an \\if or \\elif command is subject to variable interpolation and backquote expansion, just like any other backslash command argument. After that it is evaluated like the value of an on/off option variable. So a valid value is any unambiguous case-insensitive match for one of: true , false , 1 , 0 , on , off , yes , no . For example, t , T , and tR will all be considered to be true . Expressions that do not properly evaluate to true or false will generate a warning and be treated as false. Lines being skipped are parsed normally to identify queries and backslash commands, but queries are not sent to the server, and backslash commands other than conditionals ( \\if , \\elif , \\else , \\endif ) are ignored. Conditional commands are checked only for valid nesting. Variable references in skipped lines are not expanded, and backquote expansion is not performed either. All the backslash commands of a given conditional block must appear in the same source file. If EOF is reached on the main input file or an \\include -ed file before all local \\if -blocks have been closed, then psql will raise an error. Here is an example: -- check for the existence of two separate records in the database and store -- the results in separate psql variables SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee \\gset \\if :is_customer SELECT * FROM customer WHERE customer_id = 123; \\elif :is_employee \\echo 'is not a customer but is an employee' SELECT * FROM employee WHERE employee_id = 456; \\else \\if yes \\echo 'not a customer or employee' \\else \\echo 'this will never print' \\endif \\endif"}, "comparison_hash": "8ce3164f0726c6db12fcfde01f634f006acec0974c0cbadae292d925e62cd49a", "manual_language": "zh", "description_zh_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "documentation_revision": {"inputs": [{"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "en", "sha256": "b2a45145fd66cf7a28d7197594e8437e3b0310e88cdedf9d789c0fceefeebc27", "version": "15.20"}, {"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "zh-Hans", "sha256": "666ec9d596198e5b09316660b8bc7ce5cdbfbdb13053df6050aeea8838b8a855", "version": "15.20"}], "release": "15.20", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "runtime_remeasured": false}}, "16": {"lang": "zh", "facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 16.16"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=16", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=16", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=16", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=16", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\endif", "related": [{"url": "/wiki/psql/cmd-69-66/?v=16", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=16", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=16", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=16", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v16.16/postgresql-16.16.tar.bz2", "label": "16.16", "major": "16", "channel": "stable", "manifest": {"major": "16", "release": "16.16", "source_url": "https://ftp.postgresql.org/pub/source/v16.16/postgresql-16.16.tar.bz2", "source_sha256": "9d5cd8633043b75740d5d59749c6b7365e6aeb53c47098b1a5e80bb18f87881a"}, "revision": "871ba8026d5a12aa5884ac4e6e77369dacd4b2bdbd835b2305f7dbae4ee7b50d", "evidence_kind": "English manual and source declarations", "source_sha256": "9d5cd8633043b75740d5d59749c6b7365e6aeb53c47098b1a5e80bb18f87881a"}, "sources": [{"url": "/docs/16/app-psql.html#PSQL-METACOMMAND-IF", "file": "app-psql.html", "label": "16.16 English manual \u00b7 app-psql.html", "anchor": "PSQL-METACOMMAND-IF", "sha256": "6161d51dc66d54c8fd300944fed2bbae80efe4a532023b2e7771df5d94732330"}], "zh_from": "same-version-manual", "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 16.16"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "description_zh_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>"}, "summary": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "body_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "body_sha256": "f12fb6fd6d016039071f9ab51915cf638499ea817f5a170cd4a5231d1808ebb2", "content_hash": "fd717976b6b046f501b5a1f155b5ecff212c1f5fe21fec1392bb7691c5a7d81b", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "16", "documentation_release": "16.16"}, "modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=16", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=16", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=16", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=16", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "related_zh": [{"url": "/wiki/psql/cmd-69-66/?v=16", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=16", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=16", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=16", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "description": ["\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002"], "manual_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "manual_path": "app-psql.html#PSQL-METACOMMAND-IF", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "16.16"}, "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "comparison_data": {"modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "definition": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block. The \\if and \\elif commands read their argument(s) and evaluate them as a Boolean expression. If the expression yields true then processing continues normally; otherwise, lines are skipped until a matching \\elif , \\else , or \\endif is reached. Once an \\if or \\elif test has succeeded, the arguments of later \\elif commands in the same block are not evaluated but are treated as false. Lines following an \\else are processed only if no earlier matching \\if or \\elif succeeded. The expression argument of an \\if or \\elif command is subject to variable interpolation and backquote expansion, just like any other backslash command argument. After that it is evaluated like the value of an on/off option variable. So a valid value is any unambiguous case-insensitive match for one of: true , false , 1 , 0 , on , off , yes , no . For example, t , T , and tR will all be considered to be true . Expressions that do not properly evaluate to true or false will generate a warning and be treated as false. Lines being skipped are parsed normally to identify queries and backslash commands, but queries are not sent to the server, and backslash commands other than conditionals ( \\if , \\elif , \\else , \\endif ) are ignored. Conditional commands are checked only for valid nesting. Variable references in skipped lines are not expanded, and backquote expansion is not performed either. All the backslash commands of a given conditional block must appear in the same source file. If EOF is reached on the main input file or an \\include -ed file before all local \\if -blocks have been closed, then psql will raise an error. Here is an example: -- check for the existence of two separate records in the database and store -- the results in separate psql variables SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee \\gset \\if :is_customer SELECT * FROM customer WHERE customer_id = 123; \\elif :is_employee \\echo 'is not a customer but is an employee' SELECT * FROM employee WHERE employee_id = 456; \\else \\if yes \\echo 'not a customer or employee' \\else \\echo 'this will never print' \\endif \\endif"}, "comparison_hash": "8ce3164f0726c6db12fcfde01f634f006acec0974c0cbadae292d925e62cd49a", "manual_language": "zh", "description_zh_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "documentation_revision": {"inputs": [{"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "en", "sha256": "6161d51dc66d54c8fd300944fed2bbae80efe4a532023b2e7771df5d94732330", "version": "16.16"}, {"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "zh-Hans", "sha256": "c0d23bdcbad8a5daf5f0b3f68e3cda09f59d69ebf5476444ecd369309fbd52c6", "version": "16.16"}], "release": "16.16", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "runtime_remeasured": false}}, "17": {"lang": "zh", "facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 17.12"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=17", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=17", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=17", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=17", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\endif", "related": [{"url": "/wiki/psql/cmd-69-66/?v=17", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=17", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=17", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=17", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v17.12/postgresql-17.12.tar.bz2", "label": "17.12", "major": "17", "channel": "stable", "manifest": {"major": "17", "release": "17.12", "source_url": "https://ftp.postgresql.org/pub/source/v17.12/postgresql-17.12.tar.bz2", "source_sha256": "9cf136a703d8ee2f83465c43be4e9e8e7930c82b0bfba13be7e2537be769ac55"}, "revision": "cdf1f58367ae5412a459972f45d3edc959901a849a12eaac1f08b050ba94663e", "evidence_kind": "English manual and source declarations", "source_sha256": "9cf136a703d8ee2f83465c43be4e9e8e7930c82b0bfba13be7e2537be769ac55"}, "sources": [{"url": "/docs/17/app-psql.html#PSQL-METACOMMAND-IF", "file": "app-psql.html", "label": "17.12 English manual \u00b7 app-psql.html", "anchor": "PSQL-METACOMMAND-IF", "sha256": "0a15b496eec7377c3e3cdbba9c3202ea984799cde158cf8c6826d339ff454a76"}], "zh_from": "same-version-manual", "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 17.12"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "description_zh_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>"}, "summary": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "body_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "body_sha256": "f12fb6fd6d016039071f9ab51915cf638499ea817f5a170cd4a5231d1808ebb2", "content_hash": "8748864a953b484ee050b571053ae9781b8573295511dce361c9248df15ae8da", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "17", "documentation_release": "17.12"}, "modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=17", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=17", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=17", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=17", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "related_zh": [{"url": "/wiki/psql/cmd-69-66/?v=17", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=17", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=17", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=17", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "description": ["\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002"], "manual_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "manual_path": "app-psql.html#PSQL-METACOMMAND-IF", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "17.12"}, "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "comparison_data": {"modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "definition": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block. The \\if and \\elif commands read their argument(s) and evaluate them as a Boolean expression. If the expression yields true then processing continues normally; otherwise, lines are skipped until a matching \\elif , \\else , or \\endif is reached. Once an \\if or \\elif test has succeeded, the arguments of later \\elif commands in the same block are not evaluated but are treated as false. Lines following an \\else are processed only if no earlier matching \\if or \\elif succeeded. The expression argument of an \\if or \\elif command is subject to variable interpolation and backquote expansion, just like any other backslash command argument. After that it is evaluated like the value of an on/off option variable. So a valid value is any unambiguous case-insensitive match for one of: true , false , 1 , 0 , on , off , yes , no . For example, t , T , and tR will all be considered to be true . Expressions that do not properly evaluate to true or false will generate a warning and be treated as false. Lines being skipped are parsed normally to identify queries and backslash commands, but queries are not sent to the server, and backslash commands other than conditionals ( \\if , \\elif , \\else , \\endif ) are ignored. Conditional commands are checked only for valid nesting. Variable references in skipped lines are not expanded, and backquote expansion is not performed either. All the backslash commands of a given conditional block must appear in the same source file. If EOF is reached on the main input file or an \\include -ed file before all local \\if -blocks have been closed, then psql will raise an error. Here is an example: -- check for the existence of two separate records in the database and store -- the results in separate psql variables SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee \\gset \\if :is_customer SELECT * FROM customer WHERE customer_id = 123; \\elif :is_employee \\echo 'is not a customer but is an employee' SELECT * FROM employee WHERE employee_id = 456; \\else \\if yes \\echo 'not a customer or employee' \\else \\echo 'this will never print' \\endif \\endif"}, "comparison_hash": "8ce3164f0726c6db12fcfde01f634f006acec0974c0cbadae292d925e62cd49a", "manual_language": "zh", "description_zh_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "documentation_revision": {"inputs": [{"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "en", "sha256": "0a15b496eec7377c3e3cdbba9c3202ea984799cde158cf8c6826d339ff454a76", "version": "17.12"}, {"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "zh-Hans", "sha256": "72c5d1a2c80c31246970e54811e0b6ea23a7c11cefe49b9e64efbb6b84781fa2", "version": "17.12"}], "release": "17.12", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "runtime_remeasured": false}}, "18": {"lang": "zh", "facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 18.7"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=18", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=18", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=18", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=18", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\endif", "related": [{"url": "/wiki/psql/cmd-69-66/?v=18", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=18", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=18", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=18", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.7/postgresql-18.7.tar.bz2", "label": "18.7", "major": "18", "channel": "stable", "manifest": {"major": "18", "release": "18.7", "source_url": "https://ftp.postgresql.org/pub/source/v18.7/postgresql-18.7.tar.bz2", "source_sha256": "441dfae4280cae3e0425e5f876f80559fb0731c140f1aae22b3e5a54d0411bfd"}, "revision": "1b2d62b4845aa46374f2cb680f95d3392322cc8128646992ae4e18d0e7084915", "evidence_kind": "English manual and source declarations", "source_sha256": "441dfae4280cae3e0425e5f876f80559fb0731c140f1aae22b3e5a54d0411bfd"}, "sources": [{"url": "/docs/18/app-psql.html#PSQL-METACOMMAND-IF", "file": "app-psql.html", "label": "18.7 English manual \u00b7 app-psql.html", "anchor": "PSQL-METACOMMAND-IF", "sha256": "af50448485df02bdef2b72b8347192ba029c7082b8d0392ecb17db44ad533aaf"}], "zh_from": "same-version-manual", "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 18.7"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "description_zh_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>"}, "summary": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "body_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "body_sha256": "f12fb6fd6d016039071f9ab51915cf638499ea817f5a170cd4a5231d1808ebb2", "content_hash": "f63f72428e273cdceddeeb65531061d320177eaa9c8bf935a3d966183a1454b6", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "18", "documentation_release": "18.7"}, "modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=18", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=18", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=18", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=18", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "related_zh": [{"url": "/wiki/psql/cmd-69-66/?v=18", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=18", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=18", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=18", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "description": ["\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002"], "manual_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "manual_path": "app-psql.html#PSQL-METACOMMAND-IF", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "18.7"}, "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "comparison_data": {"modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "definition": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block. The \\if and \\elif commands read their argument(s) and evaluate them as a Boolean expression. If the expression yields true then processing continues normally; otherwise, lines are skipped until a matching \\elif , \\else , or \\endif is reached. Once an \\if or \\elif test has succeeded, the arguments of later \\elif commands in the same block are not evaluated but are treated as false. Lines following an \\else are processed only if no earlier matching \\if or \\elif succeeded. The expression argument of an \\if or \\elif command is subject to variable interpolation and backquote expansion, just like any other backslash command argument. After that it is evaluated like the value of an on/off option variable. So a valid value is any unambiguous case-insensitive match for one of: true , false , 1 , 0 , on , off , yes , no . For example, t , T , and tR will all be considered to be true . Expressions that do not properly evaluate to true or false will generate a warning and be treated as false. Lines being skipped are parsed normally to identify queries and backslash commands, but queries are not sent to the server, and backslash commands other than conditionals ( \\if , \\elif , \\else , \\endif ) are ignored. Conditional commands are checked only for valid nesting. Variable references in skipped lines are not expanded, and backquote expansion is not performed either. All the backslash commands of a given conditional block must appear in the same source file. If EOF is reached on the main input file or an \\include -ed file before all local \\if -blocks have been closed, then psql will raise an error. Here is an example: -- check for the existence of two separate records in the database and store -- the results in separate psql variables SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee \\gset \\if :is_customer SELECT * FROM customer WHERE customer_id = 123; \\elif :is_employee \\echo 'is not a customer but is an employee' SELECT * FROM employee WHERE employee_id = 456; \\else \\if yes \\echo 'not a customer or employee' \\else \\echo 'this will never print' \\endif \\endif"}, "comparison_hash": "8ce3164f0726c6db12fcfde01f634f006acec0974c0cbadae292d925e62cd49a", "manual_language": "zh", "description_zh_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "documentation_revision": {"inputs": [{"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "en", "sha256": "af50448485df02bdef2b72b8347192ba029c7082b8d0392ecb17db44ad533aaf", "version": "18.7"}, {"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "zh-Hans", "sha256": "cb475c53a16d9e06358f5e6c9c5649645db92568cfd319f230c62c9f57ae090b", "version": "18.7"}], "release": "18.7", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "runtime_remeasured": false}, "center_zh_rendered": "<dl><dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd></dl>"}, "19": {"lang": "zh", "facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 19rc2"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=19", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=19", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=19", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=19", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\endif", "related": [{"url": "/wiki/psql/cmd-69-66/?v=19", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=19", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=19", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=19", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v19rc2/postgresql-19rc2.tar.bz2", "label": "19rc2", "major": "19", "channel": "preview", "manifest": {"major": "19", "release": "19rc2", "source_url": "https://ftp.postgresql.org/pub/source/v19rc2/postgresql-19rc2.tar.bz2", "source_sha256": "23a7bb862e4bac395c047305ed0084117b01e71255ce858b907cdcd78ce40351"}, "revision": "cd49a2a98fed04eec7571858125796f86e63613d1985225049f2aa8b0955f256", "evidence_kind": "English manual and source declarations", "source_sha256": "23a7bb862e4bac395c047305ed0084117b01e71255ce858b907cdcd78ce40351"}, "sources": [{"url": "/docs/19/app-psql.html#PSQL-METACOMMAND-IF", "file": "app-psql.html", "label": "19rc2 English manual \u00b7 app-psql.html", "anchor": "PSQL-METACOMMAND-IF", "sha256": "88aeb3d77ad0a535a6a363215f0ac18936c368ac157e694ad30fea3c1ee30218"}], "zh_from": "same-version-manual", "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 19rc2"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "description_zh_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS (SELECT 1 FROM customer WHERE customer_id = 123) AS is_customer,\n    EXISTS (SELECT 1 FROM employee WHERE employee_id = 456) AS is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>"}, "summary": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "body_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS (SELECT 1 FROM customer WHERE customer_id = 123) AS is_customer,\n    EXISTS (SELECT 1 FROM employee WHERE employee_id = 456) AS is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "body_sha256": "f45c8ff40a145baf0c5b19cb1e9534be639157a0dfd681f0f13dfe20c5e3f942", "content_hash": "fe278c41f3c5b5765c93107a9d71ef6a81f60e68d8d523ab978834712d8238bc", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "19", "documentation_release": "19rc2"}, "modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=19", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=19", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=19", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=19", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "related_zh": [{"url": "/wiki/psql/cmd-69-66/?v=19", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=19", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=19", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=19", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "description": ["\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002"], "manual_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS (SELECT 1 FROM customer WHERE customer_id = 123) AS is_customer,\n    EXISTS (SELECT 1 FROM employee WHERE employee_id = 456) AS is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "manual_path": "app-psql.html#PSQL-METACOMMAND-IF", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "19rc2"}, "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "comparison_data": {"modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "definition": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block. The \\if and \\elif commands read their argument(s) and evaluate them as a Boolean expression. If the expression yields true then processing continues normally; otherwise, lines are skipped until a matching \\elif , \\else , or \\endif is reached. Once an \\if or \\elif test has succeeded, the arguments of later \\elif commands in the same block are not evaluated but are treated as false. Lines following an \\else are processed only if no earlier matching \\if or \\elif succeeded. The expression argument of an \\if or \\elif command is subject to variable interpolation and backquote expansion, just like any other backslash command argument. After that it is evaluated like the value of an on/off option variable. So a valid value is any unambiguous case-insensitive match for one of: true , false , 1 , 0 , on , off , yes , no . For example, t , T , and tR will all be considered to be true . Expressions that do not properly evaluate to true or false will generate a warning and be treated as false. Lines being skipped are parsed normally to identify queries and backslash commands, but queries are not sent to the server, and backslash commands other than conditionals ( \\if , \\elif , \\else , \\endif ) are ignored. Conditional commands are checked only for valid nesting. Variable references in skipped lines are not expanded, and backquote expansion is not performed either. All the backslash commands of a given conditional block must appear in the same source file. If EOF is reached on the main input file or an \\include -ed file before all local \\if -blocks have been closed, then psql will raise an error. Here is an example: -- check for the existence of two separate records in the database and store -- the results in separate psql variables SELECT EXISTS (SELECT 1 FROM customer WHERE customer_id = 123) AS is_customer, EXISTS (SELECT 1 FROM employee WHERE employee_id = 456) AS is_employee \\gset \\if :is_customer SELECT * FROM customer WHERE customer_id = 123; \\elif :is_employee \\echo 'is not a customer but is an employee' SELECT * FROM employee WHERE employee_id = 456; \\else \\if yes \\echo 'not a customer or employee' \\else \\echo 'this will never print' \\endif \\endif"}, "comparison_hash": "2fa0e95773c574cd8d1dcb28da1c7b9e69ffe9397735cafd621ba82f01e7cc31", "manual_language": "zh", "description_zh_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS (SELECT 1 FROM customer WHERE customer_id = 123) AS is_customer,\n    EXISTS (SELECT 1 FROM employee WHERE employee_id = 456) AS is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "source_revalidation": {"kind": "static-same-version-source-and-manual-replay", "audit": "wiki-audit-20261023", "runtime_rerun": false, "compared_fields": "entity membership and source-derived facts; presentation markup normalized", "source_revision": "5e06fe0541cd1f62a9fc1a66c342c19a2944ff3c98281bfbdb1d4a6d6d53fe2f", "previous_source_revision": "1bbbbf4133d426f0e4304010688d2984c30fb67df0cc3a61b3e37eb3f6f37833"}, "documentation_revision": {"inputs": [{"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "en", "sha256": "88aeb3d77ad0a535a6a363215f0ac18936c368ac157e694ad30fea3c1ee30218", "version": "19rc2"}, {"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "zh-Hans", "sha256": "7c244fc95f382349e2864e47925de5baa9fd870b49efe597bdf30e0ffc365f68", "version": "19rc2"}], "release": "19rc2", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "runtime_remeasured": false}}, "20": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 20devel"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=20", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=20", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=20", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=20", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\endif", "related": [{"url": "/wiki/psql/cmd-69-66/?v=20", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=20", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=20", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=20", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "label": "20devel", "major": "20", "channel": "devel", "manifest": {"major": "20", "release": "20devel", "source_url": "https://ftp.postgresql.org/pub/snapshot/dev/postgresql-snapshot.tar.bz2", "source_sha256": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "revision": "3cd0885bb4eccdbaac1a21177cc639e9031e54bd8ea6536c45224b5563354ce2", "evidence_kind": "English manual and source declarations", "source_sha256": "49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "sources": [{"url": "/docs/devel/app-psql.html#PSQL-METACOMMAND-IF", "file": "app-psql.html", "label": "20devel English manual \u00b7 app-psql.html", "anchor": "PSQL-METACOMMAND-IF", "sha256": "4040ccb7cbcb1a83a43c150f5b92ddd10ff8837fdc27835b1863d4a316645676"}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/devel/app-psql.html#PSQL-METACOMMAND-IF", "anchor": "PSQL-METACOMMAND-IF", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "98935f3e8a333e7201e42b7315bb9e09d62e0711037964568c16bd22ae183680", "fragment_sha256": "e7d2fbc57c70c4a880a9425cdf60185ddffcb659e350377c9a60eab238a85373", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "ee7c65fef61eeb897057bd751d5e80d81b27297a042413e265c9c3e92535d1aa", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "3cd0885bb4eccdbaac1a21177cc639e9031e54bd8ea6536c45224b5563354ce2"}, "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 20devel"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "sections": [], "center_zh": {"title": "\\endif", "locale": "zh-Hans", "source": {"key": "cmd-65-6e-64-69-66", "locale": "zh-Hans", "version": "20", "text_hash": "686f38aa1fb6c7a6573ccc142a48879413c32114fc5d84d3a721e5bde88938e7", "collection": "psql", "dataset_hash": "7c31b524dfe136022d39a6ae8dcfac6b3bbd5f8fdaf422536599981252aff0c9", "source_database": "center", "source_revision": "3cd0885bb4eccdbaac1a21177cc639e9031e54bd8ea6536c45224b5563354ce2"}, "payload": {"facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 20devel"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=20", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=20", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=20", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=20", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "zh_from": {"kind": "same-version-chinese-manual-with-source-derived-identity", "manual": {"url": "/zh/docs/devel/app-psql.html#PSQL-METACOMMAND-IF", "anchor": "PSQL-METACOMMAND-IF", "locale": "zh-Hans", "version": "20", "build_id": 111, "page_key": "app-psql.html", "extraction": "exact-definition", "source_hash": "98935f3e8a333e7201e42b7315bb9e09d62e0711037964568c16bd22ae183680", "fragment_sha256": "e7d2fbc57c70c4a880a9425cdf60185ddffcb659e350377c9a60eab238a85373", "source_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac", "translation_revision": "git:b1b500221dbe5437cfca004d6b04d3f6e422765d;html-sha256:98c980963b401d40bd50df72b909e7523e3148b8fdb48edd897de2efb67e5235", "translated_from_revision": "sha256:49c73aa4c9cacef8ca979276a28ac416c08e9e54c9baee4ae5fd116a35fa13ac"}, "body_sha256": "ee7c65fef61eeb897057bd751d5e80d81b27297a042413e265c9c3e92535d1aa", "runtime_rerun": false, "authored_translation": "source-derived-identity", "source_facts_revision": "3cd0885bb4eccdbaac1a21177cc639e9031e54bd8ea6536c45224b5563354ce2"}, "sections": [], "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS (SELECT 1 FROM customer WHERE customer_id = 123) AS is_customer, EXISTS (SELECT 1 FROM employe", "description_zh_html": "<p>psql \u547d\u4ee4 \\if expression \\elif expression \\else \\endif\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS (SELECT 1 FROM customer WHERE customer_id = 123) AS is_customer,\n    EXISTS (SELECT 1 FROM employee WHERE employee_id = 456) AS is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd><p><a href=\"/zh/docs/devel/app-psql.html#PSQL-METACOMMAND-IF\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>"}, "summary": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS (SELECT 1 FROM customer WHERE customer_id = 123) AS is_customer, EXISTS (SELECT 1 FROM employe", "version": "20", "link_map": {"/zh/docs/devel/app-psql.html#PSQL-METACOMMAND-IF": "/docs/devel/app-psql.html#PSQL-METACOMMAND-IF"}, "body_html": "<p>psql \u547d\u4ee4 \\if expression \\elif expression \\else \\endif\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code>\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code>\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code>\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code>\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code>\\if</code> \u548c<code>\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code>true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code>\\elif</code>\u3001<code>\\else</code> \u6216<code>\\endif</code>\u3002\u4e00\u65e6<code>\\if</code> \u6216<code>\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code>\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code>\\if</code> \u548c<code>\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code>\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code>\\if</code> \u6216<code>\\elif</code> \u547d\u4ee4\u7684 <em><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code>true</code>\u3001<code>false</code>\u3001<code>1</code>\u3001<code>0</code>\u3001<code>on</code>\u3001<code>off</code>\u3001<code>yes</code>\u3001<code>no</code>\u3002\u4f8b\u5982\uff0c<code>t</code>\u3001<code>T</code> \u548c <code>tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code>true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code>\\if</code>\u3001<code>\\elif</code>\u3001<code>\\else</code>\u3001<code>\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code>\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code>\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span>psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre>-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS (SELECT 1 FROM customer WHERE customer_id = 123) AS is_customer,\n    EXISTS (SELECT 1 FROM employee WHERE employee_id = 456) AS is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo &#39;is not a customer but is an employee&#39;\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo &#39;not a customer or employee&#39;\n    \\else\n        \\echo &#39;this will never print&#39;\n    \\endif\n\\endif\n</pre></dd><p><a href=\"/zh/docs/devel/app-psql.html#PSQL-METACOMMAND-IF\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "body_sha256": "0cf681d8ee05b5c7cac086ded2286c9573628a24d048260d1b9a0961ee8aedd0", "content_hash": "686f38aa1fb6c7a6573ccc142a48879413c32114fc5d84d3a721e5bde88938e7", "source_database": "center", "source_revision": "3cd0885bb4eccdbaac1a21177cc639e9031e54bd8ea6536c45224b5563354ce2"}, "modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=20", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=20", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=20", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=20", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "description": ["\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS (SELECT 1 FROM customer WHERE customer_id = 123) AS is_customer, EXISTS (SELECT 1 FROM employe"], "manual_html": "", "manual_path": "app-psql.html#PSQL-METACOMMAND-IF", "sections_zh": [], "localization": {"status": "complete", "sources": [{"url": "/docs/devel/app-psql.html", "method": "same-major semantic node", "sha256": "1590b6e290ad21fe3ac1c1549628841ae426d1cd07a8f808789207878dbee5ab", "language": "zh", "matched_nodes": ["#APP-PSQL/div[7]/div[3]/div[11]/dl[0]/dd[137]/p[0]", "#APP-PSQL/div[7]/div[3]/div[11]/dl[0]/dd[137]/p[3]", "#APP-PSQL/div[7]/div[3]/div[11]/dl[0]/dd[137]/p[4]", "#APP-PSQL/div[7]/div[3]/div[11]/dl[0]/dd[137]/p[5]", "#APP-PSQL/div[7]/div[3]/div[11]/dl[0]/dd[137]/p[6]"]}], "language": "zh", "original_text": {"/summary": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block.", "/category": "Scripting and assistance", "/versions/20/description/0": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block.", "/versions/20/facts/0/label": "Client", "/versions/20/facts/1/label": "Case-sensitive spelling", "/versions/20/tables/0/title": "Spellings in this manual definition", "/versions/20/related/3/label": "psql command-line options and complete manual", "/versions/20/tables/0/columns/0/label": "Command", "/versions/20/tables/0/columns/1/label": "Documented suffix modifiers", "/versions/20/tables/0/rows/0/modifiers": "None listed in this signature", "/versions/20/tables/0/rows/1/modifiers": "None listed in this signature", "/versions/20/tables/0/rows/2/modifiers": "None listed in this signature", "/versions/20/tables/0/rows/3/modifiers": "None listed in this signature"}, "fallback_fields": [], "source_language": "en", "original_snapshot_sha256": "dd8075660064ec54870dc58b2a440a6043fbb8db0f95657cdcdc85c052dcf850", "canonical_center_text_hash": "686f38aa1fb6c7a6573ccc142a48879413c32114fc5d84d3a721e5bde88938e7"}, "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002 \\if \u548c \\elif \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a true \uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684 \\elif \u3001 \\else \u6216 \\endif \u3002\u4e00\u65e6 \\if \u6216 \\elif \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed \\elif \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684 \\if \u548c \\elif \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406 \\else \u540e\u9762\u7684\u884c\u3002 \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c \\if \u6216 \\elif \u547d\u4ee4\u7684 expression \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a true \u3001 false \u3001 1 \u3001 0 \u3001 on \u3001 off \u3001 yes \u3001 no \u3002\u4f8b\u5982\uff0c t \u3001 T \u548c tR \u90fd\u4f1a\u88ab\u89c6\u4e3a true \u3002 \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002 \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08 \\if \u3001 \\elif \u3001 \\else \u3001 \\endif \uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002 \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7 \\include \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730 \\if \u5757\u672a\u5173\u95ed\uff0c psql \u5c31\u4f1a\u62a5\u9519\u3002 \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a -- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06 -- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf SELECT EXISTS (SELECT 1 FROM customer WHERE customer_id = 123) AS is_customer, EXISTS (SELECT 1 FROM employe", "comparison_data": {"modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "definition": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block. The \\if and \\elif commands read their argument(s) and evaluate them as a Boolean expression. If the expression yields true then processing continues normally; otherwise, lines are skipped until a matching \\elif , \\else , or \\endif is reached. Once an \\if or \\elif test has succeeded, the arguments of later \\elif commands in the same block are not evaluated but are treated as false. Lines following an \\else are processed only if no earlier matching \\if or \\elif succeeded. The expression argument of an \\if or \\elif command is subject to variable interpolation and backquote expansion, just like any other backslash command argument. After that it is evaluated like the value of an on/off option variable. So a valid value is any unambiguous case-insensitive match for one of: true , false , 1 , 0 , on , off , yes , no . For example, t , T , and tR will all be considered to be true . Expressions that do not properly evaluate to true or false will generate a warning and be treated as false. Lines being skipped are parsed normally to identify queries and backslash commands, but queries are not sent to the server, and backslash commands other than conditionals ( \\if , \\elif , \\else , \\endif ) are ignored. Conditional commands are checked only for valid nesting. Variable references in skipped lines are not expanded, and backquote expansion is not performed either. All the backslash commands of a given conditional block must appear in the same source file. If EOF is reached on the main input file or an \\include -ed file before all local \\if -blocks have been closed, then psql will raise an error. Here is an example: -- check for the existence of two separate records in the database and store -- the results in separate psql variables SELECT EXISTS (SELECT 1 FROM customer WHERE customer_id = 123) AS is_customer, EXISTS (SELECT 1 FROM employee WHERE employee_id = 456) AS is_employee \\gset \\if :is_customer SELECT * FROM customer WHERE customer_id = 123; \\elif :is_employee \\echo 'is not a customer but is an employee' SELECT * FROM employee WHERE employee_id = 456; \\else \\if yes \\echo 'not a customer or employee' \\else \\echo 'this will never print' \\endif \\endif"}, "comparison_hash": "2fa0e95773c574cd8d1dcb28da1c7b9e69ffe9397735cafd621ba82f01e7cc31", "manual_language": "zh", "description_zh_html": "<p>psql \u547d\u4ee4 \\if expression \\elif expression \\else \\endif\u3002</p><h3>\u540c\u7248\u672c\u4e2d\u6587\u624b\u518c\u5b9a\u4e49</h3><dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code>\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code>\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code>\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code>\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code>\\if</code> \u548c<code>\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code>true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code>\\elif</code>\u3001<code>\\else</code> \u6216<code>\\endif</code>\u3002\u4e00\u65e6<code>\\if</code> \u6216<code>\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code>\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code>\\if</code> \u548c<code>\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code>\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code>\\if</code> \u6216<code>\\elif</code> \u547d\u4ee4\u7684 <em><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code>true</code>\u3001<code>false</code>\u3001<code>1</code>\u3001<code>0</code>\u3001<code>on</code>\u3001<code>off</code>\u3001<code>yes</code>\u3001<code>no</code>\u3002\u4f8b\u5982\uff0c<code>t</code>\u3001<code>T</code> \u548c <code>tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code>true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code>\\if</code>\u3001<code>\\elif</code>\u3001<code>\\else</code>\u3001<code>\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code>\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code>\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span>psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre>-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS (SELECT 1 FROM customer WHERE customer_id = 123) AS is_customer,\n    EXISTS (SELECT 1 FROM employee WHERE employee_id = 456) AS is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo &#39;is not a customer but is an employee&#39;\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo &#39;not a customer or employee&#39;\n    \\else\n        \\echo &#39;this will never print&#39;\n    \\endif\n\\endif\n</pre></dd><p><a href=\"/zh/docs/devel/app-psql.html#PSQL-METACOMMAND-IF\" rel=\"nofollow\">\u67e5\u770b\u5b8c\u6574\u4e2d\u6587\u624b\u518c\u4e0e\u4e0a\u4e0b\u6587</a>\u3002</p>", "source_revalidation": {"kind": "static-same-version-source-and-manual-replay", "audit": "wiki-audit-20261023", "runtime_rerun": false, "compared_fields": "entity membership and source-derived facts; presentation markup normalized", "source_revision": "3cd0885bb4eccdbaac1a21177cc639e9031e54bd8ea6536c45224b5563354ce2", "previous_source_revision": "2eba5e0fd4c3bffb2803247b6cd537878e9d6ee5a6dfbe3c50ece8b421b80918"}}}}, "snapshot": {"lang": "zh", "facts": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 18.7"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "tables": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=18", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=18", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=18", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=18", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "command": "\\endif", "related": [{"url": "/wiki/psql/cmd-69-66/?v=18", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=18", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=18", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=18", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "release": {"ref": "https://ftp.postgresql.org/pub/source/v18.7/postgresql-18.7.tar.bz2", "label": "18.7", "major": "18", "channel": "stable", "manifest": {"major": "18", "release": "18.7", "source_url": "https://ftp.postgresql.org/pub/source/v18.7/postgresql-18.7.tar.bz2", "source_sha256": "441dfae4280cae3e0425e5f876f80559fb0731c140f1aae22b3e5a54d0411bfd"}, "revision": "1b2d62b4845aa46374f2cb680f95d3392322cc8128646992ae4e18d0e7084915", "evidence_kind": "English manual and source declarations", "source_sha256": "441dfae4280cae3e0425e5f876f80559fb0731c140f1aae22b3e5a54d0411bfd"}, "sources": [{"url": "/docs/18/app-psql.html#PSQL-METACOMMAND-IF", "file": "app-psql.html", "label": "18.7 English manual \u00b7 app-psql.html", "anchor": "PSQL-METACOMMAND-IF", "sha256": "af50448485df02bdef2b72b8347192ba029c7082b8d0392ecb17db44ad533aaf"}], "zh_from": "same-version-manual", "facts_zh": [{"label": "\u5ba2\u6237\u7aef", "value": "psql 18.7"}, {"label": "\u533a\u5206\u5927\u5c0f\u5199\u7684\u5199\u6cd5", "value": "\\endif"}], "sections": [], "center_zh": {"locale": "zh-Hans", "payload": {"description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "description_zh_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>"}, "summary": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "body_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "body_sha256": "f12fb6fd6d016039071f9ab51915cf638499ea817f5a170cd4a5231d1808ebb2", "content_hash": "f63f72428e273cdceddeeb65531061d320177eaa9c8bf935a3d966183a1454b6", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "definition_version": "18", "documentation_release": "18.7"}, "modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "tables_zh": [{"key": "spellings", "rows": [{"command": {"url": "/wiki/psql/cmd-69-66/?v=18", "text": "\\if"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-69-66/?v=18", "text": "\\elif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6c-73-65/?v=18", "text": "\\else"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}, {"command": {"url": "/wiki/psql/cmd-65-6e-64-69-66/?v=18", "text": "\\endif"}, "modifiers": "\u6b64\u8bed\u6cd5\u7b7e\u540d\u672a\u5217\u51fa"}], "title": "\u672c\u7248\u624b\u518c\u4e2d\u7684\u5199\u6cd5", "columns": [{"key": "command", "label": "\u547d\u4ee4"}, {"key": "modifiers", "label": "\u624b\u518c\u4e2d\u7684\u540e\u7f00\u4fee\u9970\u7b26"}]}], "related_zh": [{"url": "/wiki/psql/cmd-69-66/?v=18", "label": "\\if"}, {"url": "/wiki/psql/cmd-65-6c-69-66/?v=18", "label": "\\elif"}, {"url": "/wiki/psql/cmd-65-6c-73-65/?v=18", "label": "\\else"}, {"url": "/wiki/tool/psql/?v=18", "label": "psql \u547d\u4ee4\u884c\u9009\u9879\u53ca\u5b8c\u6574\u624b\u518c"}], "description": ["\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002"], "manual_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "manual_path": "app-psql.html#PSQL-METACOMMAND-IF", "sections_zh": [], "localization": {"status": "same-version-reviewed-manual", "language": "zh", "source_language": "en", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "documentation_release": "18.7"}, "description_zh": "\u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5 \\if \u5f00\u59cb\uff0c\u5e76\u4ee5 \\endif \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684 \\elif \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a \\else \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002", "comparison_data": {"modifiers": [], "signature": "\\if expression \\elif expression \\else \\endif", "spellings": ["\\if", "\\elif", "\\else", "\\endif"], "definition": "This group of commands implements nestable conditional blocks. A conditional block must begin with an \\if and end with an \\endif . In between there may be any number of \\elif clauses, which may optionally be followed by a single \\else clause. Ordinary queries and other types of backslash commands may (and usually do) appear between the commands forming a conditional block. The \\if and \\elif commands read their argument(s) and evaluate them as a Boolean expression. If the expression yields true then processing continues normally; otherwise, lines are skipped until a matching \\elif , \\else , or \\endif is reached. Once an \\if or \\elif test has succeeded, the arguments of later \\elif commands in the same block are not evaluated but are treated as false. Lines following an \\else are processed only if no earlier matching \\if or \\elif succeeded. The expression argument of an \\if or \\elif command is subject to variable interpolation and backquote expansion, just like any other backslash command argument. After that it is evaluated like the value of an on/off option variable. So a valid value is any unambiguous case-insensitive match for one of: true , false , 1 , 0 , on , off , yes , no . For example, t , T , and tR will all be considered to be true . Expressions that do not properly evaluate to true or false will generate a warning and be treated as false. Lines being skipped are parsed normally to identify queries and backslash commands, but queries are not sent to the server, and backslash commands other than conditionals ( \\if , \\elif , \\else , \\endif ) are ignored. Conditional commands are checked only for valid nesting. Variable references in skipped lines are not expanded, and backquote expansion is not performed either. All the backslash commands of a given conditional block must appear in the same source file. If EOF is reached on the main input file or an \\include -ed file before all local \\if -blocks have been closed, then psql will raise an error. Here is an example: -- check for the existence of two separate records in the database and store -- the results in separate psql variables SELECT EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer, EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee \\gset \\if :is_customer SELECT * FROM customer WHERE customer_id = 123; \\elif :is_employee \\echo 'is not a customer but is an employee' SELECT * FROM employee WHERE employee_id = 456; \\else \\if yes \\echo 'not a customer or employee' \\else \\echo 'this will never print' \\endif \\endif"}, "comparison_hash": "8ce3164f0726c6db12fcfde01f634f006acec0974c0cbadae292d925e62cd49a", "manual_language": "zh", "description_zh_html": "<dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">\n-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd>", "documentation_revision": {"inputs": [{"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "en", "sha256": "af50448485df02bdef2b72b8347192ba029c7082b8d0392ecb17db44ad533aaf", "version": "18.7"}, {"file": "app-psql.html", "kind": "same-version-reviewed-manual", "locale": "zh-Hans", "sha256": "cb475c53a16d9e06358f5e6c9c5649645db92568cfd319f230c62c9f57ae090b", "version": "18.7"}], "release": "18.7", "source_revision": "pgdoc:b9f0e7232f60f380d642ac9b99226606c254b552", "runtime_remeasured": false}, "center_zh_rendered": "<dl><dd><p>\n        \u8fd9\u7ec4\u547d\u4ee4\u5b9e\u73b0\u4e86\u53ef\u5d4c\u5957\u7684\u6761\u4ef6\u5757\u3002\u6761\u4ef6\u5757\u5fc5\u987b\u4ee5<code class=\"command\">\\if</code> \u5f00\u59cb\uff0c\u5e76\u4ee5<code class=\"command\">\\endif</code> \u7ed3\u675f\u3002\u5728\u4e24\u8005\u4e4b\u95f4\u53ef\u4ee5\u6709\u4efb\u610f\u6570\u91cf\u7684<code class=\"command\">\\elif</code> \u5b50\u53e5\uff0c\u540e\u9762\u53ef\u4ee5\u9009\u62e9\u6027\u5730\u8ddf\u7740\u4e00\u4e2a<code class=\"command\">\\else</code> \u5b50\u53e5\u3002\u5728\u5f62\u6210\u6761\u4ef6\u5757\u7684\u547d\u4ee4\u4e4b\u95f4\u901a\u5e38\u4f1a\u51fa\u73b0\u666e\u901a\u67e5\u8be2\u548c\u5176\u4ed6\u7c7b\u578b\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u3002\n        </p><p>\n<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u547d\u4ee4\u8bfb\u53d6\u5176\u53c2\u6570\uff0c\u5e76\u5c06\u5176\u4f5c\u4e3a\u5e03\u5c14\u8868\u8fbe\u5f0f\u6c42\u503c\u3002\u5982\u679c\u8868\u8fbe\u5f0f\u7684\u503c\u4e3a <code class=\"literal\">true</code>\uff0c\u5219\u6b63\u5e38\u7ee7\u7eed\u5904\u7406\uff1b\u5426\u5219\uff0c\u8df3\u8fc7\u540e\u7eed\u884c\uff0c\u76f4\u5230\u9047\u5230\u5339\u914d\u7684<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code> \u6216<code class=\"command\">\\endif</code>\u3002\u4e00\u65e6<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u6210\u529f\uff0c\u540c\u4e00\u5757\u4e2d\u540e\u7eed<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684\u53c2\u6570\u5c31\u4e0d\u518d\u6c42\u503c\uff0c\u800c\u662f\u88ab\u89c6\u4e3a\u5047\u3002\u53ea\u6709\u524d\u9762\u6240\u6709\u5339\u914d\u7684<code class=\"command\">\\if</code> \u548c<code class=\"command\">\\elif</code> \u6d4b\u8bd5\u90fd\u672a\u6210\u529f\u65f6\uff0c\u624d\u4f1a\u5904\u7406<code class=\"command\">\\else</code> \u540e\u9762\u7684\u884c\u3002\n</p><p>\n        \u4e0e\u5176\u4ed6\u53cd\u659c\u7ebf\u547d\u4ee4\u7684\u53c2\u6570\u4e00\u6837\uff0c<code class=\"command\">\\if</code> \u6216<code class=\"command\">\\elif</code> \u547d\u4ee4\u7684 <em class=\"replaceable\"><code>expression</code></em> \u53c2\u6570\u4f1a\u7ecf\u8fc7\u53d8\u91cf\u63d2\u503c\u548c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\u968f\u540e\uff0c\u6309\u5f00/\u5173\u9009\u9879\u53d8\u91cf\u503c\u7684\u89c4\u5219\u5bf9\u7ed3\u679c\u6c42\u503c\u3002\u56e0\u6b64\uff0c\u6709\u6548\u503c\u662f\u4ee5\u4e0b\u503c\u7684\u4e0d\u533a\u5206\u5927\u5c0f\u5199\u4e14\u65e0\u6b67\u4e49\u7684\u5339\u914d\uff1a<code class=\"literal\">true</code>\u3001<code class=\"literal\">false</code>\u3001<code class=\"literal\">1</code>\u3001<code class=\"literal\">0</code>\u3001<code class=\"literal\">on</code>\u3001<code class=\"literal\">off</code>\u3001<code class=\"literal\">yes</code>\u3001<code class=\"literal\">no</code>\u3002\u4f8b\u5982\uff0c<code class=\"literal\">t</code>\u3001<code class=\"literal\">T</code> \u548c <code class=\"literal\">tR</code> \u90fd\u4f1a\u88ab\u89c6\u4e3a <code class=\"literal\">true</code>\u3002\n        </p><p>\n        \u4e0d\u80fd\u6b63\u786e\u6c42\u503c\u4e3a\u771f\u6216\u5047\u7684\u8868\u8fbe\u5f0f\u4f1a\u4ea7\u751f\u8b66\u544a\uff0c\u5e76\u88ab\u89c6\u4e3a\u5047\u3002\n        </p><p>\n        \u88ab\u8df3\u8fc7\u7684\u884c\u4f1a\u88ab\u6b63\u5e38\u89e3\u6790\u4ee5\u8bc6\u522b\u67e5\u8be2\u548c\u53cd\u659c\u7ebf\u547d\u4ee4\uff0c\u4f46\u67e5\u8be2\u4e0d\u4f1a\u53d1\u9001\u5230\u670d\u52a1\u5668\uff0c\u800c\u4e14\u9664\u4e86\u6761\u4ef6\u547d\u4ee4\uff08<code class=\"command\">\\if</code>\u3001<code class=\"command\">\\elif</code>\u3001<code class=\"command\">\\else</code>\u3001<code class=\"command\">\\endif</code>\uff09\u4e4b\u5916\u7684\u53cd\u659c\u7ebf\u547d\u4ee4\u4f1a\u88ab\u5ffd\u7565\u3002\u4ec5\u68c0\u67e5\u8df3\u8fc7\u884c\u4e2d\u6761\u4ef6\u547d\u4ee4\u7684\u6709\u6548\u5d4c\u5957\u3002\u8df3\u8fc7\u884c\u4e2d\u7684\u53d8\u91cf\u5f15\u7528\u4e0d\u4f1a\u88ab\u5c55\u5f00\uff0c\u4e5f\u4e0d\u4f1a\u6267\u884c\u53cd\u5f15\u53f7\u6269\u5c55\u3002\n        </p><p>\n        \u540c\u4e00\u4e2a\u6761\u4ef6\u5757\u7684\u6240\u6709\u53cd\u659c\u7ebf\u547d\u4ee4\u5fc5\u987b\u51fa\u73b0\u5728\u540c\u4e00\u4e2a\u6e90\u6587\u4ef6\u4e2d\u3002\u5982\u679c\u4e3b\u8f93\u5165\u6587\u4ef6\u6216\u901a\u8fc7<code class=\"command\">\\include</code> \u5f15\u5165\u7684\u6587\u4ef6\u5230\u8fbe EOF \u65f6\uff0c\u4ecd\u6709\u672c\u5730<code class=\"command\">\\if</code> \u5757\u672a\u5173\u95ed\uff0c<span class=\"application\">psql</span> \u5c31\u4f1a\u62a5\u9519\u3002\n        </p><p>\n         \u4e0b\u9762\u662f\u4e00\u4e2a\u793a\u4f8b\uff1a\n        </p><pre class=\"programlisting\">-- \u68c0\u67e5\u6570\u636e\u5e93\u4e2d\u662f\u5426\u5b58\u5728\u4e24\u6761\u4e0d\u540c\u7684\u8bb0\u5f55\uff0c\u5e76\u5c06\n-- \u7ed3\u679c\u5206\u522b\u5b58\u5165\u4e0d\u540c\u7684 psql \u53d8\u91cf\nSELECT\n    EXISTS(SELECT 1 FROM customer WHERE customer_id = 123) as is_customer,\n    EXISTS(SELECT 1 FROM employee WHERE employee_id = 456) as is_employee\n\\gset\n\\if :is_customer\n    SELECT * FROM customer WHERE customer_id = 123;\n\\elif :is_employee\n    \\echo 'is not a customer but is an employee'\n    SELECT * FROM employee WHERE employee_id = 456;\n\\else\n    \\if yes\n        \\echo 'not a customer or employee'\n    \\else\n        \\echo 'this will never print'\n    \\endif\n\\endif\n</pre></dd></dl>"}, "comparison": {"left": "17", "right": "18", "status": "unchanged", "diff": ""}}