‘壹’ 怎么设置sql server时间类型datetime的默认值的呢
sql server中datetime类型字段设置默认值的方法:
一、在企业管理器中选中要修改的表格,点击鼠标右键,弹出菜单点击“设计表”
‘贰’ 我sql数据库有个字段sysDate 是(datetime类型),我想根据这个字段查询,为什么没有结果显示
用- 进行分隔:
select * from Treat_HXJCDetail where sysDate = '2009-7-15 16:22:02';
‘叁’ sql怎么查询datetime
SELECT COUNT(*)/datediff(hour,'2009-06-15 00:00:00','2009-06-28 00:00:00')
from a
where b >= '2009-06-15 00:00:00'and b <= '2009-06-28 00:00:00'
如上是查询6月15日到28日期间,平均每小时记录的数据数目
datediff(hour,'2009-06-15 00:00:00','2009-06-28 00:00:00' --取得日期区间的小时数
------------------------------------------
哦,是我读题不仔细唉,呵呵。
这样的话就复杂了。
你不急的话我明天有空写个预存程序来解决这个问题
------------------------------------------
1.先建立日期时间构造预存程序,用来传回作时间段查询的两个时间
create PROC [dbo].[sp_fordate]
@year char(4),
@month char(2),
@day char(2),
@hour char(2),
@date1 varchar(12) output,
@date2 char(20) output,
@date3 char(20) output
as
begin
set @date1 = @year + '-' + ltrim(rtrim(@month)) + '-' +rtrim(@day)
set @date2 = @date1 + space(1) + ltrim(rtrim(@hour)) + ':00:00'
set @hour = @hour +1
set @date3 = @date1 + space(1) + ltrim(rtrim(@hour)) + ':00:00'
set @hour = @hour -1
set @date1 = @date1 + '-'+ @hour
end
2.在这磨清一个预存程序里用循环跑出一个用union关联的超长sql语句执行。需要传入四个值,年份(2009四位格式),月份,日期(若日期传入为空自动取1),瞎伏前小时(输入1表示1点到2点时段,以此类推)
create proc riqi
@year char(4),
@month char(2),
@day char(2),
@hour char(2)
as
BEGIN
declare @SQL varChar(4000)
if @day is null or @day = ''
begin
set @day = 1
end
declare @date1 char(12)
declare @date2 char(20)
declare @date3 char(20)
exec sp_fordate @year,@month,@day,@hour,@date1 output,@date2 output,@date3 output
set @sql = 'select count(*) as 数目, '''+ @date1 + ''' as 日期时间 from a where b >= ''' + @date2 + '''' + ' and b<= ''' + @date3 + ''''
set @day = @day + 1
while @day <= 31
BEGIN
exec sp_fordate @year,@month,@day,@hour,@date1 output,@date2 output,@date3 output
set @sql = @sql +char(10)+char(13)+ ' union all ' +char(10)+char(13)+ 'select count(*), '''+ @date1 + ''' from a where b >= ''' + @date2 + '''' + ' and b<厅余= ''' + @date3 + ''''
set @day = @day + 1
print @day
if @@error <> ''
BEGIN
break
END
ELSE
CONTINUE
END
exec(@sql)
END
测试结果如下
数目 日期时间
----------- ------------
3 2009-10-1-1
2 2009-10-2-1
1 2009-10-3-1
最后的-1表示时间段是一点
唉,只想到这个笨办法唉
‘肆’ SQL 中 date 与datetime的区别
区别1:
①date类型可用于需要一个日期值而不需要时间部分时;
②datetime类型:可用于需要同时包含日期和时间信息的值。
区别2:
①date:MySQL 以 'YYYY-MM-DD' 格式检索与显示date值;
②datetime:MySQL 以 'YYYY-MM-DD HH:mm:ss'格式检索与显示 DATETIME 类型。
(4)sql数据库datetime扩展阅读:
SQL:
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统, 可以使用相同的结构化查询语言作为数据输入与管理的接口。
结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
1986年10月,美国国家标准协会对SQL进行规范后,以此作为关系式数据库管理系统的标准语言(ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。
不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。
所以,实际上不同数据库系统之间的SQL不能完全相互通用。
date:
(1)省略 年/月/日 显示系统日期并提示输入新的日期,不修改则可直接按回车键,要修改则直接输入新日期。
⑵当机器开始启动时,有自动处理文件(AUTOEXEC.BAT)被执行,则系统不提示输入系统日期。否则,提示输入新日期和时间。
DateTimePicker控件:
C/S设计中的DateTimePicker控件[1],有两种操作模式:
1.下拉式日历模式(缺省)—允许用户显示一种能够用来选择日期的下拉式日历。
2.时间格式模式—允许用户在日期显示中选择一个字段(例如:月、日、年等等),按下控件右边的上下箭头来设置它的值。
可以自定义控件的下拉式日历的外观。
使用各种颜色属性,例如CalendarBackColor,CalendarForeColor,CalendarTitleBackColor,CalendarTitleForeColor和CalendarTrailingForeColor,允许创建属于您自己的颜色方案。
可以使用键盘或鼠标对控件进行浏览。下拉式日历有两个按钮使您能够滚动月份数据出入视图。
‘伍’ sql数据库中的时间类型
满意答案。9级2010-11-29使用nvarchar对于前期的实现比较容易,但性能及后期使用及后期需求开发比较困难
如按时间排序,数据库类型校验,根据时间段查询,根据时间的分组统计等等方面造成的影响比较大
追问:
如果用datetime
我的MyEclipse用Hibernate转换时是timestamp类型的
在用模糊查询查时间时有点纠结啊
老是报不能转换的错误
回答:
用hibernate啊
那你在配置文件注入类型不用时间戳
改成这个试试java.util.Date
补充:
hibernate项目好几年没做过了
原来在数据库时间建模和操纵时习惯用java.sql.Timestamp与数据库中DateTime对应,但业务流通层,模型里还是用java.util.Date
因为这些时间直接的转换都是一样的方便,而且这样做逻辑理解上比较直观
记忆中是没有出现过错误,Timestamp在现在使用数据源时经常使用
追问:
知道用date类型的哇
但是hibernate自动生成的就是timestamp类型
不改配置文件
就用timestamp怎么做啊?总不能每次生成就改一次配置文件吧.....
追问:
还有我做的是模糊查询
在form里面时间又是string类型的
转换有点麻烦
回答:
你在createSQLQuery方法后面在使用
addScalar方法传入你datetime的实体对应名和hibernate类型试一下吧
补充:
这个的确比较麻烦,你可以写个公共转换方法进行转换
就是字符串根据你的时间格式进行取出时间long
然后转换就可以了
大概这样子
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat();
‘陆’ 数据库datetime是什么类型
datetime类型:可用于需要同时包含日期和时间信息的值。
datetime:MySQL 以 'YYYY-MM-DD HH:mm:ss'格式睁陆检索与显示 DATETIME 类型。
DateTime 日期和时间部分,可以表示的日期范围从公元1753年1月1日00:00:00.000 到9999年12月31日23:59:59.997 ,精确到3.33毫秒,它需要8个字节的存储空间,其中前4个字节用于存储1900年凳灶1月1日以前或以后的天数,数值分正负,悉粗顷正数表示在此日期之后的日期,负数表示在此日期之前的日期;后4个字节用于存储从此日零时起所指定的时间经过的毫秒数。
(6)sql数据库datetime扩展阅读
在MySQL中创建表时,很容易通过类型介绍就能选择到合适自己的数据类型。不过到底是选择 datetime 还是 timestamp,可能会有点犯难。这两个日期时间类型各有优点:datetime 的日期范围比较大;timestamp 所占存储空间比较小,只是 datetime 的一半。
另外,timestamp 类型的列还有个特性:默认情况下,在 insert, update 数据时,timestamp 列会自动以当前时间(CURRENT_TIMESTAMP)填充/更新。“自动”的意思就是,你不去管它,MySQL 会替你去处理。
参考资料来源:网络-SQL数据类型
‘柒’ SQL Server中如何搜索datetime数据类型数据.
1.这是查询与当前时间在同一周内的数据,sql语句是:
2.select * from 表 where datediff(week,时间字段,getdate())=0
3.也可以稍作修改用来查询与指定日期在同一周内的数据:
4.select * from 表 where datediff(week,时间字段,'2002-01-01')=0
5.select * from 表 where startdate between 指定日期 and 指定日期
6.select * from 表 where leavedate between 指定日期 and 指定日期
7.查询一段时间( 不需要固定时间的,只需要前后间隔时间的)
8.select * from 表 where datediff(day,startdate,leavedate)<7 and startdate = 指定日期9.select * from 表 where datediff(day,startdate,leavedate)<7 and leavedate = 指定日期
这是查询此日期开始时间到离开时间在七天之间的所有数据,
‘捌’ SQL SERVER中datetime类型的显示格式问题
可以考虑使用SQL中convert函数转换datetime类型的显示格式。
convert函数定义:
CONVERT() 函数是把日期转换为新数据类型的通用函数。
具体convert函数语法:
CONVERT(data_type(length),data_to_be_converted,style)
其中:data_type(length)为目标数据类型(带有可选的长度);
data_to_be_converted为需要时间转换的值;
style为输出日期/时间的表示格式。
实例:
下面的脚本使用 CONVERT() 函数来显示不同的格式。我们将使用 GETDATE() 函数来获得当前的日期/时间:
CONVERT(VARCHAR(19),GETDATE())
CONVERT(VARCHAR(10),GETDATE(),110)
CONVERT(VARCHAR(11),GETDATE(),106)
CONVERT(VARCHAR(24),GETDATE(),113)
结果为:
Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635
拓展资料:
SQL语言包含6个部分:
一:数据查询语言(DQL:Data Query Language):
其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。
二:数据操作语言(DML:Data Manipulation Language):
其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。
三:事务处理语言(TPL):
它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。
四:数据控制语言(DCL):
它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。
五:数据定义语言(DDL):
其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。
六:指针控制语言(CCL):
它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。
‘玖’ sql 2000数据库中datetime类型的显示格式是什么样的
sql2000默认的datetime类型显示格式如图。