社区
Web 开发
帖子详情
用getDate()取sqlserver2000中的datetime字段为什么多出000?
鲁班大叔
2002-05-27 04:37:18
rt
...全文
121
4
打赏
收藏
用getDate()取sqlserver2000中的datetime字段为什么多出000?
rt
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fzw123
2002-05-28
打赏
举报
回复
String dateandtime=sqlRst.getString("dateandtime");
改成
Date dateandtime = sqlRst.getTimeStamp("dateandtime");
String tmpstr=new SimpleDateTimeFormat("yyyy-MM-dd hh:mm:ss").format(dateandtime);
鲁班大叔
2002-05-28
打赏
举报
回复
我用的是String dateandtime=sqlRst.getString("dateandtime");
dateandtime字段也是datetime类型的,数据库中的值是2002-5-27 22:42:07
可是一读出来就是2002-05-27 22:41:12.000。
我用了两位说的方法,但是我把String 改成Date就会出错,真是太奇怪了。
bistone
2002-05-27
打赏
举报
回复
<%@ page
language="java"
import="java.sql.*"
contentType="text/html; charset=GB2312" %>
<html>
<head>
</head>
<body>
<%
String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
//数据库连接字符串:jdbc-odbc桥
String sConnStr="jdbc:odbc:myDS";
Connection conn=null;
ResultSet rs=null;
//打开数据库连接
try
{
Class.forName(sDBDriver);
}
catch (java.lang.ClassNotFoundException e)
{
out.println("opendb():"+e.getMessage());
}
//定义执行sql语句的函数
try
{
conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery("select * from user333 where id='2' ");
rs.next();
String id=rs.getString("id");
Date current_time=rs.getDate("present");
out.println(id+"\t"+current_time);
}
catch (SQLException ex)
{
out.println("aq.executeQuery:"+
ex.getMessage()+"\n"+ex.getSQLState()+
"\n"+ex.toString());
}
rs.close();
conn.close();
%>
</body>
<html>
用我的代码试试,其中表USER333的字段PRESENT是DATETIME型的,
我试的结果为
2 2002-02-14
wjfling
2002-05-27
打赏
举报
回复
用这种方法试试
Date d=res.getDate("DATABASE_DATA");
String sDate=new SimpleDateFormat(d).format("yyyy-MM-dd");
sqlserver
中
date
time
属性巧用
sql server
中
使用convert来
取
得
date
time
数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为get
date
()函数或数据表里的
字段
*/ CONVERT(varchar(10), 时间一, 23) 结果:2007-02-01 /*varchar(10)表示日期输出的格式,如果不够长会发生截
取
*/ 语句及查询结果: Select CONVERT(varchar(100), GET
DATE
(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GET
DATE
(), 1): 05/16/06 Select CONVERT(varchar(100), GET
DATE
(), 2): 06.05.16 Select.............
sql server
中
date
time
字段
去除时间的语句
select CONVERT(varchar, get
date
(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, get
date
(), 120 ),\’-\’,\’\’),\’ \’,\’\’),\’:\’,\’\’) 20040912110608 select CONVERT(varchar(12) , get
date
(), 111 ) 2004/09/12 select CONVERT(varchar(12) , get
date
(), 112 ) 20040912 sel
SQLserver
中
用convert函数转换日期格式的方法
SQL Server
中
文版的默认的日期
字段
date
time
格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select get
date
() 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, get
date
(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, get
date
(), 120 ),’-‘,”),’ ‘,”),’:’,”) 20040912110608 select CONVERT(varc
SqlServer
查询时日期格式化语句
SQL Server
中
文版的默认的日期
字段
date
time
格式是yyyy-mm-dd Thh:mm:ss.mmm 例如: select get
date
() 2004-09-12 11:06:08.177 整理了一下SQL Server里面可能经常会用到的日期格式转换方法: 举例如下: select CONVERT(varchar, get
date
(), 120 ) 2004-09-12 11:06:08 select replace(replace(replace(CONVERT(varchar, get
date
(), 120 ),'-',''),' ',''),':','') 2
探讨:sql插入空,默认1900-01-01 00:00:00.
000
的解决方法详解
sql2005 若
字段
定义的类型为
date
time
,插入为”(空),那么会默认值为1900-01-01 00:00:00.
000
解决方法查询的时候过滤下cast(nullif(”,”) as
date
time
) 代码如下:select cast(” as
date
time
) , cast(nullif(”,”) as
date
time
) , isnull(cast(nullif(”,”) as
date
time
),get
date
())/*———————– ———————– ———————–1900-01-01 00:00:00.
000
NULL
Web 开发
81,090
社区成员
341,731
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章