如何将string型的变量转换成date型?

zjl0506 2005-09-16 01:03:40
我在做查询时,想设置一个查询时间区间,但输入的是string型的,到查询时,系统就提示说与数据库中的date型不匹配,所以什么也没查出来,请问这个问题怎么解决?
...全文
334 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjl0506 2005-09-17
  • 打赏
  • 举报
回复
但是我用to_date和to_char都试过后,系统告诉我没有这个函数,我之后查了关于mssql中的转换函数,根本就没有这个函数,之后我用的是convert函数,
它的用法是
String starttime = "2003";
String sql="select * from tablename
where time=convert("你要转换的类型",'"+starttime+"')";


还有一个函数是cast("你要转换的类型",'"+starttime+"')
lcllcl987 2005-09-16
  • 打赏
  • 举报
回复
当然可以
String yourtime = "2003";
String sql="select * from table as t where t.time=to_char(" + yourtime + ",'yyyy')" ;
然后运行这个sql
zjl0506 2005-09-16
  • 打赏
  • 举报
回复
我用的是mssql,我输入的数据只是年,形如:2003 而数据库中的类型是smalldatetime,请问还能这么用吗?
lcllcl987 2005-09-16
  • 打赏
  • 举报
回复
majy(技术永无止境 生命永不停息) 和楼上的说的才是正解
楼主好好看看吧
记得sql中,如果查询的有时间,需要用到to_char()函数,仔细看看这个函数的用法
xukun_1027 2005-09-16
  • 打赏
  • 举报
回复
你用的是啥数据库啊
如果是oracle,就用
String sql=select * from table where to_char(date,'yyyymmdd')='+"yourtime"+'
前提是你的时间是20050916(yyyymmdd)这种格式

blackhost 2005-09-16
  • 打赏
  • 举报
回复
使用SimpleDateFormat非常简单.
xxzxzx 2005-09-16
  • 打赏
  • 举报
回复
顶了
layueer 2005-09-16
  • 打赏
  • 举报
回复
String sql=select * from table where date=to_date('"+str+"','yyyy-mm-dd')"
rower203 2005-09-16
  • 打赏
  • 举报
回复
public static java.util.Date parseDate(String dateStr, String formatStr) {
SimpleDateFormat format = new SimpleDateFormat(formatStr);
try {
return format.parse(dateStr);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}

public static java.util.Date parseDate(String dateStr) {
return parseDate(dateStr, "yyyy/MM/dd");
}
zeq258 2005-09-16
  • 打赏
  • 举报
回复
请两天才有人问过这个问题,
那里做了很详细的回答,
你好好翻下吧!
majy 2005-09-16
  • 打赏
  • 举报
回复
在数据库的sql语句中用这个函数 to_date('你的输入','yyyy-mm-dd')

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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