国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

PG數(shù)據(jù)庫實(shí)現(xiàn)bool自動(dòng)轉(zhuǎn)smallint的方式

這篇具有很好參考價(jià)值的文章主要介紹了PG數(shù)據(jù)庫實(shí)現(xiàn)bool自動(dòng)轉(zhuǎn)smallint的方式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

刪除函數(shù):

語法:
DROP FUNCTION IF EXISTS your_schema_name.function_name(arg_type1, arg_type2) CASCADE RESTRICT;

實(shí)例:
DROP FUNCTION IF EXISTS platformyw.boolean_to_smallint(bool) CASCADE RESTRICT;

查詢是否存在函數(shù)

語法:
SELECT * FROM information_schema.routines WHERE routine_catalog={you_catalog_name} and routine_schema={you_schema_name} and routine_name ={you_func_name} and routine_type = 'FUNCTION';

實(shí)例:
SELECT * FROM information_schema.routines WHERE routine_catalog='gisqdb' and routine_schema='platform'
and routine_name ='boolean_to_smallint' ?and routine_type = 'FUNCTION';

?創(chuàng)建轉(zhuǎn)化函數(shù)

CREATE OR REPLACE FUNCTION boolean_to_smallint(b boolean) RETURNS smallint AS $$
? ? BEGIN
? ? ? ? ? ? RETURN (b::boolean)::bool::int;
? ? END;
$$LANGUAGE plpgsql;
drop cast if exists (boolean as smallint);

創(chuàng)建一個(gè)全局類型轉(zhuǎn)化

具體地說,如果布爾值為?TRUE,則轉(zhuǎn)換為?1;如果布爾值為?FALSE,則轉(zhuǎn)換為?0。

例如,CAST (TRUE AS smallint)?將返回?1,CAST (FALSE AS smallint)?將返回?0。

語法:
CREATE CAST (source_type AS target_type) WITH FUNCTION function_name(argument_type) [ AS ASSIGNMENT | AS IMPLICIT ];

其中:
source_type 是要轉(zhuǎn)換的源類型,target_type 是要轉(zhuǎn)換的目標(biāo)類型,function_name 是執(zhí)行轉(zhuǎn)換的函數(shù),argument_type 是函數(shù)的參數(shù)類型。AS ASSIGNMENT 和 AS IMPLICIT 用于指定轉(zhuǎn)換類型的方式。AS ASSIGNMENT 表示將轉(zhuǎn)換定義為顯式轉(zhuǎn)換,需要顯式地使用 CAST 運(yùn)算符進(jìn)行轉(zhuǎn)換;AS IMPLICIT 表示將轉(zhuǎn)換定義為隱式轉(zhuǎn)換,可以在不使用 CAST 運(yùn)算符的情況下自動(dòng)進(jìn)行轉(zhuǎn)換

實(shí)例:

CREATE CAST (boolean AS smallint) WITH FUNCTION boolean_to_smallint(boolean) AS implicit;

查詢轉(zhuǎn)化是否存在

布爾值為?TRUE,則轉(zhuǎn)換為?1;如果布爾值為?FALSE,則轉(zhuǎn)換為?0

SELECT 1 ? ?FROM pg_cast c ?JOIN pg_type t1 ON c.castsource = t1.oid ?JOIN pg_type t2 ON c.casttarget = t2.oid
WHERE t1.typname = 'boolean' ? ?AND t2.typname = 'smallint';?

刪除轉(zhuǎn)化

drop cast if exists (boolean as smallint);?

查詢pg版本號(hào)

select version();?文章來源地址http://www.zghlxwxcb.cn/news/detail-428943.html

到了這里,關(guān)于PG數(shù)據(jù)庫實(shí)現(xiàn)bool自動(dòng)轉(zhuǎn)smallint的方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用docker部署pg數(shù)據(jù)庫

    使用 Docker 部署 PostgreSQL 數(shù)據(jù)庫是一種常見的做法,它提供了方便、可移植和可重復(fù)的方式來運(yùn)行數(shù)據(jù)庫。下面是一個(gè)簡(jiǎn)單的示例,用于在 Docker 中部署 PostgreSQL 數(shù)據(jù)庫: 首先,確保您已經(jīng)安裝了 Docker 并正確配置了 Docker 環(huán)境。 打開終端或命令提示符,并執(zhí)行以下命令來下載

    2024年02月10日
    瀏覽(22)
  • 【PostgreSQL】連接pg數(shù)據(jù)庫Schema切換

    【PostgreSQL】連接pg數(shù)據(jù)庫Schema切換

    由于PostgreSQL數(shù)據(jù)庫模式(schema)存在多個(gè),原先的表單是默認(rèn)采用public但是查詢表和字段時(shí)候有查詢所有未進(jìn)行過濾,導(dǎo)致數(shù)據(jù)庫連接失敗、查表字段也為空(空即查詢服務(wù)端異常錯(cuò)誤) 數(shù)據(jù)庫連接配置 添加參數(shù)補(bǔ)充 ?currentSchema=dwd 譬如: username=root;password=XXXX;url=jdbc:postg

    2024年02月11日
    瀏覽(28)
  • Flink CDC實(shí)時(shí)同步PG數(shù)據(jù)庫

    JDK:1.8 Flink:1.16.2 Scala:2.11 Hadoop:3.1.3 github地址:https://github.com/rockets0421/FlinkCDC-PG.git? 1、更改配置文件postgresql.conf # 更改wal日志方式為logical wal_level = logical # minimal, replica, or logical # 更改solts最大數(shù)量(默認(rèn)值為10),flink-cdc默認(rèn)一張表占用一個(gè)slots max_replication_slots = 20 # m

    2024年02月13日
    瀏覽(35)
  • 使用pg_prewarm緩存PostgreSQL數(shù)據(jù)庫表

    使用pg_prewarm緩存PostgreSQL數(shù)據(jù)庫表

    pg_prewarm 直接利用系統(tǒng)緩存的代碼,對(duì)操作系統(tǒng)發(fā)出異步prefetch請(qǐng)求,在應(yīng)用中,尤其在OLAP的情況下,對(duì)于大表的分析等等是非常耗費(fèi)查詢的時(shí)間的,而即使我們使用select table的方式,這張表也并不可能將所有的數(shù)據(jù)都裝載到內(nèi)存中,而pg_prewarm的功能就是完成一個(gè)張表全部進(jìn)入

    2024年02月14日
    瀏覽(30)
  • openGauss數(shù)據(jù)庫pg_xlog爆滿問題解決

    openGauss數(shù)據(jù)庫pg_xlog爆滿問題解決

    最近有一個(gè)之前搭的環(huán)境登不上了,好久沒用想拿來測(cè)試的時(shí)候發(fā)現(xiàn)啟動(dòng)不了。啟動(dòng)時(shí)報(bào)錯(cuò): [Errno 28] No space left on device query也不行了,提示沒有空間了。 查詢磁盤使用情況 df -h ,果然100% 這個(gè)環(huán)境當(dāng)時(shí)安裝的是主備,看了下備庫的服務(wù)器,發(fā)現(xiàn)不知道啥時(shí)候已經(jīng)被刪庫了,

    2024年02月02日
    瀏覽(21)
  • 達(dá)蒙數(shù)據(jù)庫:本地編碼:PG_GBK, 導(dǎo)入文件編碼:PG_UTF8錯(cuò)誤解決

    達(dá)蒙數(shù)據(jù)庫:本地編碼:PG_GBK, 導(dǎo)入文件編碼:PG_UTF8錯(cuò)誤解決

    在windows使用達(dá)夢(mèng)管理工具導(dǎo)入.dmp文件時(shí)出現(xiàn)該錯(cuò)誤 問題解決: 1、找到DM數(shù)據(jù)庫的安裝路徑的bin 目錄下 cmd 進(jìn)入終端 2、輸入命令行 使用dimp工具進(jìn)行導(dǎo)入,最后需要加上FULL=Y是表示整個(gè)表格導(dǎo)入,但是中間可能會(huì)出現(xiàn)報(bào)錯(cuò)

    2024年02月06日
    瀏覽(27)
  • PG-DBA培訓(xùn)04:PostgreSQL數(shù)據(jù)類型與數(shù)據(jù)庫設(shè)計(jì)規(guī)范

    一、風(fēng)哥PG-DBA培訓(xùn)04:PostgreSQL數(shù)據(jù)類型與數(shù)據(jù)庫設(shè)計(jì)規(guī)范 本課程由風(fēng)哥發(fā)布的基于PostgreSQL數(shù)據(jù)庫的系列課程,本課程屬于PostgreSQL數(shù)據(jù)庫SQL開發(fā)與應(yīng)用實(shí)戰(zhàn)階段之PostgreSQL數(shù)據(jù)類型與數(shù)據(jù)庫設(shè)計(jì)規(guī)范,學(xué)完本課程可以掌握PostgreSQL SQL語句基礎(chǔ)講解,PostgreSQL SQL語言基礎(chǔ)知識(shí),安

    2024年02月11日
    瀏覽(28)
  • PG數(shù)據(jù)庫提示: FATAL: sorry, too many clients already

    PG數(shù)據(jù)庫提示: FATAL: sorry, too many clients already

    目錄 場(chǎng)景: idea啟動(dòng)提示如下錯(cuò)誤 翻譯: 連接數(shù)相關(guān)查詢: ?原因分析: 解決方法: pg數(shù)據(jù)庫已經(jīng)有太多的客戶端連接 查詢pg數(shù)據(jù)庫設(shè)置的最大連接數(shù)? show max_connections; SELECT * FROM pg_settings ?WHERE name = \\\'max_connections\\\'; ?查詢pg數(shù)據(jù)庫當(dāng)前的連接數(shù) --pg數(shù)據(jù)庫當(dāng)前連接數(shù)總數(shù) S

    2024年02月07日
    瀏覽(17)
  • SQL Server數(shù)據(jù)庫使用SQL Server代理實(shí)現(xiàn)數(shù)據(jù)庫自動(dòng)備份

    SQL Server數(shù)據(jù)庫使用SQL Server代理實(shí)現(xiàn)數(shù)據(jù)庫自動(dòng)備份

    在現(xiàn)實(shí)中,為了保證數(shù)據(jù)的安全和完整,防止人為錯(cuò)誤和硬件故障等造成的數(shù)據(jù)丟失和損壞,就需要用到數(shù)據(jù)庫的備份,不同的數(shù)據(jù)庫方法有所差別,我這邊主講SQL Server數(shù)據(jù)庫的備份和使用SQL Server代理作業(yè)實(shí)現(xiàn)數(shù)據(jù)庫的定時(shí)備份。 目錄 一、開啟SQL Server代理 1、找到SQL Serv

    2024年02月09日
    瀏覽(107)
  • Oracle/MySQL/PG/SQL Server關(guān)系數(shù)據(jù)庫中NULL與空字符串的區(qū)別

    Oracle/MySQL/PG/SQL Server關(guān)系數(shù)據(jù)庫中NULL與空字符串的區(qū)別

    在Oracle數(shù)據(jù)庫中,\\\'\\\'(空字符串)與null是什么關(guān)系呢? \\\'\\\'(空字符串)是否會(huì)等同(或者說等價(jià)于)于null值呢?\\\'\\\'跟\\\' \\\'(長(zhǎng)度為零的空字符串或包含一個(gè)或多個(gè)空格的空字符串)是否又等價(jià)?下面我們測(cè)試一下 如上所示,插入\\\'\\\'時(shí),Oracle數(shù)據(jù)庫確實(shí)將其等同與null,但是, 像\\\'

    2024年02月16日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包