CREATE CAST

中文man手册

CREATE CAST

NAME
SYNOPSIS
DESCRIPTION æè¿°
PARAMETERS åæ°
NOTES 注æ
EXAMPLES ä¾å
COMPATIBILITY å¼å®¹æ§
SEE ALSO åè§
è¯è

NAME

CREATE CAST - å®ä¹ä¸ä¸ªç¨æ·å®ä¹ç转æ¢

SYNOPSIS

CREATE CAST (sourcetype AS targettype)
WITH FUNCTION funcname (argtype)
[ AS ASSIGNMENT | AS IMPLICIT ]

CREATE CAST (sourcetype AS targettype)
WITHOUT FUNCTION
[ AS ASSIGNMENT | AS IMPLICIT ]

DESCRIPTION æè¿°

CREATE CAST å®ä¹ä¸ä¸ªæ°ç转æ¢ã ä¸ä¸ªè½¬æ¢è¯´æå¦ä½å¨ä¸¤ä¸ªç±»åä¹é´è¿è¡è½¬æ¢ãæ¯å¦ï¼

SELECT CAST(42 AS text);

éè¿è°ç¨åé¢å£°æçä¸ä¸ªå½æ°ï¼ææ´æ°å¸¸é 42 è½¬æ¢æç±»å textï¼ å¨è¿ä¸ªä¾å鿝 text(int4)ãï¼å¦ææ²¡æé¢åå®ä¹å¥½åéç转æ¢ï¼é£ä¹è¿ä¸ªè½¬æ¢å¤±è´¥ãï¼

两ç§ç±»åå¯ä»¥æ¯äºè¿å¶å¼å®¹çï¼ æææ¯å®ä»¬ä¹é´å¯ä»¥"èªç±è½¬æ¢"èä¸ç¨è°ç¨ä»»ä½å½æ°ã è¿å°±éè¦é£ä¸ªå¯¹åºçæ°å¼ä½¿ç¨åæ ·çåé¨è¡¨ç°å½¢å¼ã æ¯å¦ï¼ç±»å text å varchar æ¯äºè¿å¶å¼å®¹çã

ç¼ºçæ¶ï¼åªæå¨æç¡®è¦æ±è½¬æ¢çæåµä¸æè°ç¨ä¸ä¸ªè½¬æ¢ï¼ ä¹å°±æ¯ä¸ä¸ªæç¡®ç CAST(x AS typename)ï¼ x::typenameï¼æè typename(x) æé ã

å¦æè½¬æ¢æ è®°ä¸º AS ASSIGNMENTï¼é£ä¹å¨èµä¸ä¸ªæ°å¼ç»ç®æ æ°æ®ç±»åçå- æ®µçæ¶åï¼ å¯ä»¥éå«è°ç¨å®ãæ¯å¦ï¼å设 foo.f1 æ¯ä¸ä¸ªç±»å为 text çå- 段ï¼é£ä¹

INSERT INTO foo (f1) VALUES (42);

妿ä»ç±»å integer å°ç±»å text çè½¬æ¢æ è®°ä¸º AS ASSIGNMENTï¼ ä¸é¢çè¿å¥å°±è¢«å许ï¼å¦åå°±ä¸å许ãï¼æä»¬éå¸¸ç¨æ¯è¯- èµå¼è½¬æ¢æ¥æè¿°è¿ç§è½¬æ¢ãï¼

å¦æè½¬æ¢æ è®°ä¸º AS IMPLICITï¼é£ä¹å®å°±å¯ä»¥å¨ä»»ä½ç¯å¢éè°ç¨ï¼ ä¸ç®¡æ¯èµå¼è¿æ¯å¨è¡¨è¾¾å¼çåé¨ãæ¯å¦ï¼å ä¸º || æ¥å text æä½æ°ï¼

SELECT ’The time is ’ || now();

å°åªæå¨ç±»å timestamp å° text çè½¬æ¢æ è®°ä¸º AS IMPLICIT çæ¶åæå许ãå¦åæä»¬å°±å¿é¡»æç¡®ä¹¦å转æ¢ï¼ æ¯å¦

SELECT ’The time is ’ || CAST(now() AS text);

ï¼æä»¬éå¸¸ä½¿ç¨æ¯è¯éå«è½¬æ¢æ¥æè¿°è¿ç§ç±»åç转æ¢ãï¼

卿 è®°è½¬æ¢ä¸ºéå«çè¿ä¸ªé®é¢ä¸ä¿å®ä¸äºæ¯ææºçã è¿äºä¸°å¯çéå«è½¬æ¢è·¯å¾ä¼å¯¼è´ PostgreSQL éæ©è®©äººå¥æªçå½ä»¤çè§£æï¼ æèæ¯å®å¨ä¸è½è§£æå½ä»¤ï¼å ä¸ºåå¨å¤ä¸ªå¯è½çè§£æã 䏿¡å¥½çææå®å¾æ¯ï¼åªæå¨åä¸ä¸ªéç¨ç±»å表éé¢çé£äºå¯ä»¥ä¿ç转æ¢ä¿¡æ¯çç±»åä¹é´ææè®°ä¸ºå¯éå«è°ç¨è½¬æ¢ã æ¯å¦ï¼ä» int2 å° int4 å¯ä»¥åçå°æ è®°ä¸ºéå«è½¬æ¢ï¼ä½æ¯ä» float8 å° int4 å¯è½åºè¯¥æ¯æ è®°ä¸ºèµå¼è½¬æ¢ã跨类å表ç转æ¢ï¼æ¯å¦ text å° int4ï¼æå¥½æ¯åªè½æç¡®å°è½¬æ¢ã

è¦æ³å建ä¸ä¸ªè½¬æ¢ï¼ä½å¿é¡»æ¥ææºæèç®çæ°æ®ç±»åãè¦å建ä¸ä¸ªäºè¿å¶å¼å®¹ç转æ¢ï¼ ä½å¿é¡»æ¯è¶çº§ç¨æ·ãï¼åè¿ä¸ªéå¶æ¯å为ä¸ç§æé®é¢çäºè¿å¶å¼å®¹è½¬æ¢å¯ä»¥å¾å®¹ææ§æ¯æå¡å¨ãï¼

PARAMETERS åæ°

sourcetype

转æ¢çæºæ°æ®ç±»åã

targettype

转æ¢çç®æ æ°æ®ç±»åã

funcname(argtype)

ç¨äºæ§è¡è½¬æ¢ç彿°ãè¿ä¸ªå½æ°åå¯ä»¥æ¯ç¨æ¨¡å¼å修饰çã 妿宿²¡æç¨æ¨¡å¼å修饰ï¼é£ä¹è¯¥å½æ°å°ä»è·¯å¾ä¸æ¾åºæ¥ã åæ°ç±»åå¿é¡»åæºæ°æ®ç±»åç¸åï¼ç»ææ°æ®ç±»åå¿é¡»å¹é转æ¢çç®æ ç±»åã

WITHOUT FUNCTION

è¡¨ç¤ºæºæ°æ®ç±»ååç®æ æ°æ®ç±»åæ¯äºè¿å¶å¼å®¹çï¼ æä»¥ä¸éè¦ä»ä¹å½æ°æ¥æ§è¡è½¬æ¢ã

AS ASSIGNMENT

表示转æ¢å¯ä»¥å¨èµå¼ç¯å¢ééå«è°ç¨ã

AS IMPLICIT

表示è¿ä¸ªè½¬æ¢å¯ä»¥å¨ä»»ä½ç¯å¢ééå«è°ç¨ã

NOTES 注æ

ç¨ DROP CAST å é¤ç¨æ·å®ä¹ç转æ¢ã

请注æï¼å¦æä½ æ³è½åå转æ¢ç±»åï¼é£ä¹ä½ éè¦æç¡®å°å®ä¹ä¸¤ä¸ªæ¹åç转æ¢ã

å¨ PostgreSQL 7.3 ä¹åï¼å¦æä¸ä¸ªå½æ°çåååä¸ä¸ªæ°æ®ç±»åç¸åï¼ å¹¶ä¸è¿åè¯¥ç§æ°æ®ç±»åï¼èä¸è¿æ¥åå¦å¤ä¸ç§ç±»åçåæ°èªå¨å°±æ¯ä¸ä¸ªè½¬æ¢å½æ°ã è¿ä¸ªä¼ç»éçæ¨¡å¼çå¼å¥ä»¥å为äºè½å¨ç³»ç»è¡¨ç§è¡¨ç¤ºäºè¿å¶å¼å®¹ç转æ¢å°±è¢«åºå¼äºã ï¼åç½®ç转æ¢å½æ°ä»ç¶éµå¾ªè¿ä¸ªå½åè§åï¼ä½æ¯å®ä»¬ç°å¨å¿é¡»å¨ç³»ç»è¡¨ pg_cast éæ¾ç¤ºä¸ºè½¬æ¢ãï¼

EXAMPLES ä¾å

è¦ä½¿ç¨å½æ° int4(text) å建ä¸ä¸ªä»ç±»å text å°ç±»å int4ç转æ¢ï¼

CREATE CAST (text AS int4) WITH FUNCTION int4(text);

ï¼è¿ä¸ªè½¬æ¢å¨ç³»ç»ä¸å·²ç»é¢åå®ä¹äºãï¼

COMPATIBILITY å¼å®¹æ§

CREATE CAST å½ä»¤éµå¾ª SQL99ï¼åªä¸è¿ SQL99 没ææä¾äºè¿å¶å¼å®¹ç±»åãAS IMPLICIT 乿¯ PostgreSQL çæ©å±ã

SEE ALSO åè§

CREATE FUNCTION [create_function(7)], CREATE TYPE [create_type(7)], DROP CAST [drop_cast(7)]

è¯è

Postgresql 䏿ç½ç« ä½ä¼å¹³ <laser@pgsqldb.org>.SH è·
æ¬é¡µé¢ä¸æçç±ä¸æ man æå页计åæä¾ã
䏿 man æå页计åï¼https://github.com/man-pages-zh/manpages-zh