首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgresql。CREATE CAST 'character varying‘到'integer’

Postgresql。CREATE CAST 'character varying‘到'integer’
EN

Stack Overflow用户
提问于 2011-01-21 23:49:50
回答 3查看 43.2K关注 0票数 12

我想创建一个合适的函数来转换‘字符变化’到‘整型’。有没有人能推荐一个函数?我试过的每件事都失败了。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-01-22 03:30:04

使用以下命令:

代码语言:javascript
复制
CREATE CAST (varchar AS integer) WITH INOUT [AS IMPLICIT];

它使用所涉及的数据类型的输入/输出函数。

票数 23
EN

Stack Overflow用户

发布于 2011-09-10 13:48:52

如果您将SQL更新为执行显式强制转换,则上面的函数将起作用。但是,如果您在"create cast“语句的末尾添加了”as implicit“,Postgres将能够在您将整数与可转换为整数的varchar进行比较时自动计算出您正在尝试执行的操作。

下面是我更新的声明,它似乎是“隐式”工作的:

代码语言:javascript
复制
CREATE FUNCTION toint(varchar) 
  RETURNS integer 
  STRICT IMMUTABLE LANGUAGE SQL AS 
'SELECT cast($1 as integer);';

CREATE CAST (varchar AS integer) WITH FUNCTION toint(varchar) as Implicit;
票数 1
EN

Stack Overflow用户

发布于 2012-05-16 00:02:25

我得到了同样的错误。我有一个专栏

代码

声明为类型字符varying(20)和局部变量

l_code

声明为int类型。

我解决了程序中的替换问题

代码语言:javascript
复制
SELECT 
...
WHERE
code = l_code AND
..

使用

代码语言:javascript
复制
code = cast( l_code as character varying)   AND
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4760759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档