SYNOPSIS

CREATE [DEFAULT] CONVERSION name
FOR source_encoding TO dest_encoding FROM funcname

DESCRIPTION 描述

CREATE CONVERSION 定义一种新的编码转换。 转换的名字可以用在 convert 函数内部声明特定的编码转换。 同样,标记为 DEFAULT 的转换可以用于在前端和后端之间的自动编码转换。 出于这个原因,我们必须定义两种转换,从编码 A 到 B 以及从编码 B 到 A。

为了可以创建转换,你必须在函数上有EXECUTE权限并且有在目标模式上的CREATE权限。

PARAMETERS 参数

DEFAULT
DEFAULT 子句表示这种转换对于从这种源编码到目的编码的情况是缺省的。在一个模式里每个编码对应该只有一个缺省编码。
name
 转换的名字。转换名可以用模式修饰。如果没有,那么转换就在当前模式中定义。转换名在一个模式里必须唯一。
source_encoding
 源编码名。
dest_encoding
 目的编码名。
funcname
 用于执行转换的函数。这个函数名可以用模式名修饰。 如果没有,那么将从路径中找出这个函数。

此函数必须有如下的样子:

conv_proc(
integer, -- 源编码 ID
integer, -- 目的编码 ID
cstring, -- 源字串(空结尾的 C 字串)
cstring, -- 目的字串(空结尾的 C 字串)
integer -- 源字串长度
) RETURNS void;

NOTES 注意

使用 DROP CONVERSION 删除用户定义的转换。

创建转换所需要的权限可能在未来的版本中改变。

EXAMPLES 例子

用 myfunc 创建一个从编码 UNICODE 到 LATIN1 的转换:

CREATE CONVERSION myconv FOR 'UNICODE' TO 'LATIN1' FROM myfunc;

CREATE CONVERSION - 定义一个用户定义的码制转换的更多相关文章

  1. DROP CONVERSION - 删除一个用户定义的编码转换

    SYNOPSIS DROP CONVERSION name [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP CONVERSION 删除一个以前定义的编码转换. 要 ...

  2. CREATE CAST - 定义一个用户定义的转换

    SYNOPSIS CREATE CAST (sourcetype AS targettype) WITH FUNCTION funcname (argtype) [ AS ASSIGNMENT | A ...

  3. new 运算符创建一个用户定义的对象类型的实例或具有构造函数的内置对象的实例。

    new运算符 - JavaScript | MDN https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operator ...

  4. 写一个比较全的进制转换函数--ic

    //写一个比较全的进制转换函数-----未完成 #include <stdio.h> //D进制转换后 (比如10-2进制) 结果可能会很大 需要很长的字符串来存 #include < ...

  5. DROP TYPE - 删除一个用户定义数据类型

    SYNOPSIS DROP TYPE name [, ...] [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP TYPE 将从系统表里删除用户定义的类型. 只有类 ...

  6. DROP CAST - 删除一个用户定义的类型转换

    SYNOPSIS DROP CAST (sourcetype AS targettype) [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP CAST 删除一个前面 ...

  7. DROP DOMAIN - 删除一个用户定义的域

    SYNOPSIS DROP DOMAIN name [, ...] [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP DOMAIN 将从系统表中删除一个用户域. 只 ...

  8. DROP AGGREGATE - 删除一个用户定义的聚集函数

    SYNOPSIS DROP AGGREGATE name ( type ) [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP AGGREGATE 将删除一个现存聚集 ...

  9. CREATE FUNCTION - 定义一个新函数

    SYNOPSIS CREATE [ OR REPLACE ] FUNCTION name ( [ argtype [, ...] ] ) RETURNS rettype { LANGUAGE lang ...

随机推荐

  1. 网络驱动移植之例解netdev_priv函数

    版权声明:本文为博主原创文章,未经博主允许不得转载. 开发平台:Ubuntu 11.04 编译器:gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) 内核 ...

  2. CF上的3道小题(1)

    CF上的3道小题 终于调完了啊.... T1:CF702E Analysis of Pathes in Functional Graph 题意:你获得了一个n个点有向图,每个点只有一条出边.第i个点的 ...

  3. softmax regression in c++

    #include <iostream>#include <vector>#include <cmath>#include <algorithm>#inc ...

  4. bzoj 2815

    http://www.cnblogs.com/JS-Shining/archive/2013/01/12/2857429.html 题面 题解上写了用什么dominator tree,吓晕了,看了看, ...

  5. Html.PartialView(),html.Renderpartial,html.action.html.RenderAction 辅助方法

    Html.Partial(), 返回HTML字符串 .参数为部分视图 html.RenderPartial(),不返回返回HTML字符串 ,直接输出响应流.参数为部分视图 一般用于主视图中已经存在了这 ...

  6. 3198: [Sdoi2013]spring【容斥原理+hash】

    容斥是ans= 至少k位置相等对数C(k,k)-至少k+1位置相等对数C(k+1,k)+至少k+2位置相等对数*C(k+2,k) -- 然后对数的话2^6枚举状态然后用hash表统计即可 至于为什么要 ...

  7. bzoj3118: Orz the MST(线性规划+单纯形法)

    传送门 不难发现,对于每一条树边肯定要减小它的权值,对于每一条非树边要增加它的权值 对于每一条非树边\(j\),他肯定与某些树边构成了一个环,那么它的边权必须大于等于这个环上的所有边 设其中一条边为\ ...

  8. JS 数据类型入门与typeof操作符

    标准的数据类型划分: 基本类型: number(数字).string(字符串).undefined.boolean(布尔值).null(空对象) //空对象与非空对象,最大的区别就是不能进行属性操作 ...

  9. Java 反射机制详解(上)

    一.什么是反射 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功能称为java ...

  10. ______________从时间超限到800ms 到200ms——————2098

    分拆素数和 Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepted S ...