sql语句高手帮个忙吧,是关于时间的sql语句,谢谢 sql中没有纯的time类型所以你要么用datetime字段,在取数据的时候,用 convert(varchar,time字段,112) 得到时间部分要么改用字符型字段来存储. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你的字段肯定要包括日期和时间的你不输入日期的情况下,默认就是1900-1-1你用SELECT出来的时候只显示时间旧可以了SELECT CAST(DATAPART(hh,puretime) AS VARCHAR(2)) + ':' + CAST(DATAPART(MM,puretime) AS VARCHAR(2)) + ':' + CAST(DATAPART(SS,puretime) AS VARCHAR(2)) + 是convert(varchar(8),puretime,108) 表里保存的都是2004-01-01 00:00:00的形式,你select 出来该字段时,可以用convert转换出你需要的格式! 楼上说的都对。如果直接用sql客户端工具,在表格里填写"12:12:12"并不是不带年月日存储,你用CONVERT(varchar(20), 字段名, 120)看一下,实际是1899-12-30 12:12:12. ok,谢谢各位高手。我刚才也做了测试,大致得出这样的结果,纯属个人猜测。当使用sql语句填写datetime类型的字段时,若只给出时间,sql语句解释器(分析sql语句的模块,我也不知道怎么称呼它)会自动加上默认时间1900-1-1。当使用sql客户端的表格工具填写datetime类型的字段时,若只给出时间,该表格工具,会在生成sql语句前,写进行类型检查,当发现datetime类型字段只有时间,没有日期时,就加上sql客户端使用的默认时间1899-12-30(为什么不是31,不知道微软怎么想的),然后再更新数据库,而sql语句解释器,发现正常datetime填写方式,也就不会去加它的1900-1-1默认时间了。在使用sql客户端填写datetime字段时,若是只写时间,则使用1899-12-30进行日期默认存储,并且不在界面上反映出来,反之,若填写1899-12-30作为日期信息,则该段信息会在表格上消失,因为按照1899-12-30这样的默认日期时不需要现实的。说了这么多,纯属个人见解,贻笑大方了,呵呵。 怎么从备份文件将数据导入数据库或者从别的数据库导入到目标数据库,高手帮忙吧! 使用此安全上下文建立连接 帮忙标量值函数 求救:数据库有一个表坏了,一访问到某条记录就出错,有什么办法修补,或者删除也行。 小问题 连接字符串问题 MSSQL死锁问题请教! 热烈欢迎新斑竹 请问SQL SERVER和ORACLE有什么区别??(万分火急!急!急!) 求SQL语句,在线立结! 邹老师等高手,你看看这个问题怎样解决? IP数据分检器的研制
你不输入日期的情况下,默认就是1900-1-1你用SELECT出来的时候只显示时间旧可以了
SELECT CAST(DATAPART(hh,puretime) AS VARCHAR(2)) +
':' +
CAST(DATAPART(MM,puretime) AS VARCHAR(2)) +
':' +
CAST(DATAPART(SS,puretime) AS VARCHAR(2)) +
convert(varchar(8),puretime,108)
如果直接用sql客户端工具,在表格里填写"12:12:12"并不是不带
年月日存储,你用CONVERT(varchar(20), 字段名, 120)看一下,实际是
1899-12-30 12:12:12.
当使用sql语句填写datetime类型的字段时,若只给出时间,sql语句解释器(分析sql语句的模块,我也不知道怎么称呼它)会自动加上默认时间1900-1-1。
当使用sql客户端的表格工具填写datetime类型的字段时,若只给出时间,该表格工具,会在生成
sql语句前,写进行类型检查,当发现datetime类型字段只有时间,没有日期时,就
加上sql客户端使用的默认时间1899-12-30(为什么不是31,不知道微软怎么想的),然后再
更新数据库,而sql语句解释器,发现正常datetime填写方式,也就不会去加它的1900-1-1默认时间了。在使用sql客户端填写datetime字段时,若是只写时间,则使用1899-12-30进行日期默认存储,并且不在界面上反映出来,反之,若填写1899-12-30作为日期信息,则该段信息会在表格上消失
,因为按照1899-12-30这样的默认日期时不需要现实的。说了这么多,纯属个人见解,贻笑大方了,呵呵。