在SQL-Server中关于日期的数据类型都有哪些?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SQL-Server中关于日期的数据类型都有哪些?相关的知识,希望对你有一定的参考价值。

正在做项目,在数据库设计时,有一个字段,需要用到日期(只要年、月、日),用了Datetime和Smalldatetime都试过,但是我只需要日期,不要带时间,因此,我试用两种数据类型时借助check和default约束以及year、month、day函数,结果有的直接失败,有的是成功了,可惜,插入数据时却提示向datetime、smalldatetime类型转换时失败,该如何解决啊,哪位高手指点一下,定当感激涕零……

有datetime和smalldatetime两种格式的日期时间数据类型,如下:
  1、datetime
  数据库内部用两个4字节的整数存储datetime数据类型的值。
  第一个4字节存储基础日期(即1900-1-1, base date)之前或之后的日期。
  日期范围为1753-1-1至9999-12-31。当日期为1900-1-1时值为0,之前的日期是负数;之后日期是正数,另外一个4字节存储以午夜后三又三分之一(10/3)毫秒数所代表的每天的时间。
  2、smalldatetime
  smalldatetime数据类型存储日期和每天的时间,但精确度低于datetime。
  SQL Server将smalldatetime的值存储为两个2字节的整数。
  第一个2字节存储1900-1-1后的天数,另外一个2字节存储午夜后的分钟数。
  日期范围从1900-1-1到2079-6-6,时间精确到分钟,29.998秒或更低的smalldatetime值向下舍入为最接近的分钟,29.999秒或更高的smalldatetime值向上舍入为最接近的分钟。
  --returns time as 12:35
  SELECT CAST('2000-05-08 12:35:29.998' AS smalldatetime)
  GO
  --returns time as 12:36
  SELECT CAST('2000-05-08 12:35:29.999' AS smalldatetime)
  GO
  注意:没有单独的日期或时间类型。
参考技术A 插入数据之前在代码中处理好年月日,插进去,读取时,再在代码中处理好只要年月日,这样可行不 参考技术B 哥告诉你吧!如果只用年月日、只能像你想的那样儿、先建一个函数: select CONVERT(varchar, getdate(), 120 ) 2004-09-12 11:06:08 在提取关键部位 select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),\'-\',\'\'),\' \',\'\'),\':\',\'\') 20040912110608 最后你就代入函数就行了、 select CONVERT(varchar(12) , getdate(), 111 ) 2004/09/12 参考技术C 可以用char类型进行代替啊如1990-04-12这样的可以用char(10) 来代替

Java中关于时间日期格式保存到mysql的问题

 首先在设置数据库的时间日期字段的时候要先确定好采用何种类型,DATETIME、 TIMESTAMP、DATE、TIME、YEAR。

其中datetime、time用的比较多,对应java中生成的pojo的时间日期类型都是Date。

关键的转化步骤:

Java中生成的new Date或者日期时间字符串是不能直接保存到数据库中的,需要进行转换,方法如下:

//日期格式化,把时间转换成数据库认识的格式。

SimpleDateFormat  sdf = new SimpleDateFormat("HH:mm:ss");

gateway.setRelayOpen(sdf.parse(cr.getStarttime()));//开时间
gateway.setRelayClose(sdf.parse(cr.getEndtime()));//关时间
gm.updateByPrimaryKeySelective(gateway);//更新开关时间

 

以上是关于在SQL-Server中关于日期的数据类型都有哪些?的主要内容,如果未能解决你的问题,请参考以下文章

面试中关于Java你所需知道的的一切

面试中关于Java你所需知道的的一切

Java中关于时间日期格式保存到mysql的问题

C#bond 中都有哪些可用的数据类型?

留学作业中常用的Reference类型都有哪些?

oracle 所有的数据类型都有哪些?