年月怎么转换为sql server的datetime类型

来源:百度知道 编辑:UC知道 时间:2024/05/17 01:13:06
我用jbuilder swing做的界面,家庭日常账目系统。界面上全是jTextField里输入后取值,插入和查询两个按钮。年,月分别在两个jTextField 里输入。然后是该月总收入,房费,伙食费等等。要求执行插入和查询。年月要转换后作为java.sql.date的datetime类型参数传递。datetime类型只有年月行吗,还是一定要年月日?
可是数据库里存时间的那列规定是datetime类型。这要求插入和查询的方法里面时间那个参数一定得是datetime类型吗?
转换了很久都没成功。大家帮帮忙啊!弄不出来睡觉都不安宁。。
题目是只有年月,没有日。set方法里最少都有3个参数啊。只有year ,month怎么做呢,date那里给个null又不对

只有年月的话,是无法转换成datetime类型的,必须给一个日的默认值,比如1号。
可以采用如下方法:
select cast('201507'+'01' as datetime)
解释:这里的'01'就相当于给定的一个默认值,这样转换后就是datetime类型了。

java.util.Calendar提供对datetime的操作。

Calendar cal = Calendar.getInstance(); // 得到实例

Date dt = cal.getTime(); // 获得日期时间;

cal.setTime(dt1); // 给calendar设置时间

cal.set(int year, int month, int date)
cal.set(int year, int month, int date, int hourOfDay, int minute)

你通过java.sql.Date来new 一个日期对象就可以插进数据库了!

alter table 表名 modify 列名 datetime