POSTGRESQL 查询问题

sztony 2005-01-20 08:39:00
我下达select * from users where usr_code = 'abc'
不能查出数据,但我加个TRIM函数,就可以了,改为:
select * from users where trim(usr_code) = 'abc'

我不想加这个涵数一样能查询,有什么设置没有,怎么做?
...全文
124 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
trampwind 2005-01-20
  • 打赏
  • 举报
回复
如果类型是varchar,而用trim函数和不用时结果不同,那应该就时你的数据里面有空格.
不要用to_char函数了,这个函数会在转换后的字符前多加个空格,直接插入数字就型了,数据库会自动转换的:insert into employee(emp_code,emp_name,emp_date,emp_salary)
values(i,'zzzzzz','2005-01-04',1500);
插入这种比较简单的数据应该比较快的,2个半小时确实太慢了
dujunli 2005-01-20
  • 打赏
  • 举报
回复
MS SQL SERVER中有没有加索引?
sztony 2005-01-20
  • 打赏
  • 举报
回复
emp_code 为varchar(10),
追加数据代码如下:

CREATE OR REPLACE FUNCTION ins_rec()
RETURNS int4 AS
$BODY$declare
i integer;
begin
i := 7000000;
while i <= 8000000 loop
insert into employee(emp_code,emp_name,emp_date,emp_salary)
values(to_char(i,'9999999'),'zzzzzz','2005-01-04',1500);
i := i + 1;
end loop;
--dbms.output.put_line('finished');
return i;
end;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION ins_rec() OWNER TO postgres;

另外,我很奇怪:我用的POSTGRESQL 8.0试用版,在WINDOWS SERVER 2003下,P4 2.8G+512 ram
追加100万条数据,才用了不到2分钟,
而用SQL SERVER 却用了2个半小时,不明白速度怎么相差那么远???
并且,追加前,我的POSTGRESQL 库中已经存在300多万条了,而MS SQL SERVER 一条也没有,
但查询的时候,MS SQL SERVER 快些
cloudchen 2005-01-20
  • 打赏
  • 举报
回复
你录入的数据后有空格,或是自动填充空格
trampwind 2005-01-20
  • 打赏
  • 举报
回复
在数据库中直接查询没碰到过这样情况,你的usr_code是什么类型的,varchar不应该有问题,即使char型,数据库中比如身份证定义的char(18),15位的用=一样可以查出来
sztony 2005-01-20
  • 打赏
  • 举报
回复
都有主键,表结构一样的.

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧