oracle varchar 类型字段查询体会

开发者在线 Builder.com.cn 更新时间:2007-11-25作者:builder.com.cn 来源:来源网站

本文关键词: oracle VARCHAR

今天要做一个查询,很简单的一个查询,数据库是oracle 8.17,以前也做过一些sql server 或者oracle 的查询,感觉和sql server 区别不是很大,很快查询语句就写好了:

string StrSelect = "select T$ITEM,T$CLOT,T$CPFT,T$VALU from ttdltc012111 where T$CLOT='" +TxtCsno.Text.ToString().Trim()+ "'";

语句语法检查能够过去,但是就是查不出来数据,把数据导出来,明明就有.

后来查看数据库设计,CLOT字段是varchar(16)数据类型,我的输入就只有8个字符,考虑估计又是存储数据中含有空格

查了一下oracle 中的字符函数,换了以下查询,用replace 替换空格就可以了

string StrSelect = "select T$ITEM,T$CLOT,T$CPFT,T$VALU from ttdltc012111 where replace(T$CLOT,' ','')='" +TxtCsno.Text.ToString().Trim()+ "'";

OK查询执行成功,查出数据.

后来考虑能够替换空格,估计也能补齐空格,继续测试:用LPAD函数在左边补齐空格到16位

select * from ttdltc012221 where T$CLOT=LPAD('+TxtCsno.Text.ToString().Trim()+ ',16)

测试,正常执行!



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1901325

用户评论

  • 用户名
  • 评论内容