首页 新闻 会员 周边

参数化SQL 时间类型问题(奇怪,还希望朋友解惑)

0
悬赏园豆:30 [已解决问题] 解决于 2013-04-12 09:16
使用参数化执行SQL语句的时候,以Oracle为例.
未指定OracleParameter的DbType,执行查询语句时select * from table where time >:pTime ,该过程参数被直接赋值为时间字符串,即2013-03-11 18:36:56,并非Datetime类型,结果是该SQL依然正确执行,这是什么原因啊。(调试的时候查看该过程参数的类型,DbType=AnsiString,OracleType=Varchar)
冲动的主页 冲动 | 菜鸟二级 | 园豆:394
提问于:2013-04-11 12:40
< >
分享
最佳答案
0

这说明Oracle在编译Sql语句时自动把参数pTime解析成了datetime类型

收获园豆:30
artken | 菜鸟二级 |园豆:244 | 2013-04-11 12:49

初步猜测是这样的,但想更多的了解一下,关于这方面,会不会引起性能损失,或者这样写是否规范。

冲动 | 园豆:394 (菜鸟二级) | 2013-04-11 12:55
其他回答(1)
0

因为对dbType有一个强制的对象软化

amityat | 园豆:476 (菜鸟二级) | 2013-04-11 17:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册