帮我看看这个oracle的sql语句有什么问题??。。。。在线等。。。。。。。。。 有表名,笔误!!有问题的应该是下面这个sql = "select count(*) from table where xq < "+d_today.toString() + " + "+String.valueOf(i_val); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 xq 字段类型是?i_val 可能的值是什么?---===>一个不会问问题的人. 你都把d_today做了toString了还加什么数值啊,哪能行吗 真急人!!!我详细解释一下sql = "select count(*) from table where xq < "+d_today.toString() + " + "+String.valueOf(i_val);xq 是date 类型的字段d_taoday 是date型的变量i_val是整形数据用来表示天数 不可以这样直接比较。d_today.toString() 的格式是Tue Sep 14 11:36:25 CST 2004无论你表中的date_column 是什么类型的,都不可能和上边的东西进行比较的。 那要实现查询date_column 小于d_today 加上 i_val 天的记录sql应该怎么写!!??? DATEADD(day, 21, pubdate)第一个变量代表日期的某一部分第二个变量指定了时间的间隔最后一个变量是一个日期 Oracle好像应该这样写吧:sql = "select count(*) from table where xq < to_date("+d_today.toString() + ") + "+String.valueOf(i_val); 错了,应该是:sql = "select count(*) from table where xq < to_date('"+d_today.toString() + "','yyyy-mm-dd') + "+String.valueOf(i_val); 真急人!!!我详细解释一下sql = "select count(*) from table where xq < "+d_today.toString() + " + "+String.valueOf(i_val);xq 是date 类型的字段d_taoday 是date型的变量i_val是整形数据用来表示天数sql = "select count(*) from table where xq < to_date('"+d_today.toString()+"','yyyy-mm-dd hh24:mi:ss')+"+i_val;应该这样写,oracle日期的对比需要用to_date函数转换字符到date类型后才能比较,yyyy 年mm 月dd 日hh24 小时(24小时制)mi 分ss 秒-和:是分隔符看你的d_today.toString()出来的格式啥样,你的to_date()中日期格式就啥样的写 select * from tzdwhere create_date<to_date('2001-08-01','yyyy-mm-dd')+3在数据库中,这条语句是可以执行的所以是:sql = "select count(*) from table where xq < to_date('"+d_today.toString() + "','yyyy-mm-dd') + "+String.valueOf(i_val);我猜yyyy-mm-dd是你的字符串中日期的格式,所以请注意! d_today.toString() 可不是'yyyy-mm-dd'这个样子的,我用的是oracle 不过已经很不错了 你试一下:insert into test(d_today) values(to_date('2004-09-15','yyyy-mm-dd'));看下ORACLE里面是什么样子的。 你可以按照你的样子写啊 比如21/01/2004 就是dd/mm/yyyy 笨,笨,笨,看得我郁闷死了。记住了,以后凡是要用date类型的数据,全部都用varchar代替,oracle里不要用date,datetime,timestep这样的数据类型。以后数据多了,你就知道我为什么这么说了。!!! --一个老人。 运行java Web应用程序时 虚拟机报错 Java向前台HTML页面传数据 可以用hastable不 ? XML获取节点个数的疑问? tomcat一个端口下部署多个项目的问题? javascript中调用vbscript不起作用,请高手解答 有关于级联菜单的传值问题!往高手指教 非常奇怪的问题!高手帮忙? tomcat+IIS的灵异现象...... 关于获得html地表单数据问题 怎么把我的代码改成spring boot代码,要在一次请求中返回多个结果? session失效后保存当前地址? 使用Calendar获得日期的问题?
---===>一个不会问问题的人.
sql = "select count(*) from table where xq < "+d_today.toString() + " + "+String.valueOf(i_val);xq 是date 类型的字段
d_taoday 是date型的变量
i_val是整形数据用来表示天数
d_today.toString() 的格式是Tue Sep 14 11:36:25 CST 2004无论你表中的date_column 是什么类型的,都不可能和上边的东西进行比较的。
第一个变量代表日期的某一部分
第二个变量指定了时间的间隔
最后一个变量是一个日期
sql = "select count(*) from table where xq < to_date("+d_today.toString() + ") + "+String.valueOf(i_val);
sql = "select count(*) from table where xq < to_date('"+d_today.toString() + "','yyyy-mm-dd') + "+String.valueOf(i_val);
sql = "select count(*) from table where xq < "+d_today.toString() + " + "+String.valueOf(i_val);xq 是date 类型的字段
d_taoday 是date型的变量
i_val是整形数据用来表示天数sql = "select count(*) from table where xq < to_date('"+d_today.toString()+"','yyyy-mm-dd hh24:mi:ss')+"+i_val;
应该这样写,oracle日期的对比需要用to_date函数转换字符到date类型后才能比较,
yyyy 年
mm 月
dd 日
hh24 小时(24小时制)
mi 分
ss 秒
-和:是分隔符
看你的d_today.toString()出来的格式啥样,你的to_date()中日期格式就啥样的写
where create_date<to_date('2001-08-01','yyyy-mm-dd')+3在数据库中,这条语句是可以执行的
所以是:
sql = "select count(*) from table where xq < to_date('"+d_today.toString() + "','yyyy-mm-dd') + "+String.valueOf(i_val);我猜yyyy-mm-dd是你的字符串中日期的格式,所以请注意!
不过已经很不错了
insert into test(d_today) values(to_date('2004-09-15','yyyy-mm-dd'));
看下ORACLE里面是什么样子的。
--一个老人。