在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
  注意:没有单独的日期或时间类型。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-10
插入数据之前在代码中处理好年月日,插进去,读取时,再在代码中处理好只要年月日,这样可行不
第2个回答  2013-09-10
哥告诉你吧!如果只用年月日、只能像你想的那样儿、先建一个函数: 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本回答被网友采纳
第3个回答  2013-09-10
可以用char类型进行代替啊如1990-04-12这样的可以用char(10) 来代替

《SQL Server》中如何指定日期格式?怎样指定分隔符?
日期显示类型,参照百度搜索"sql 日期格式"2、《SQL Server》中指定分隔符:length nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。style 日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 ...

SQL server基本技能篇:SQL中的数据类型
SQL中的数据类型是数据库操作的核心,理解这些类型对于编写高效、安全的SQL语句至关重要。SQL server的数据类型主要分为两大类:系统数据类型和用户自定义数据类型。在日常编程中,我们主要关注一些常用的类型。例如,整数数值型包括bigint、int、smallint和tinyint,其中bigint的取值范围最大,而tinyint则最...

sqlserver中如何更新数据库的日期?
数据库update更新date类型数据代码如下:update 表名 set 字段名=to_date(‘2030\/12\/31’,‘yyyy-mm-dd’)where 条件;UPDATE 语句用于更新表中已存在的记录。SQL UPDATE 语法 UPDATE table_name SET column1=value1,column2=value2,...WHERE some_column=some_value;...

SQL SERVER日期格式转换详解
一般存入数据库中的时间格式为yyyy-mm-ddhh:mm:ss 如果要转换为yyyy-mm-dd 短日期格式.可以使用convert函数.下面是sqlserver帮助中关于convert函数的声明:使用 CONVERT:CONVERT (data_type[(length)],expression[,style])参数 expression 是任何有效的 Microsoft® SQL Server™ 表达式。...

SQL Server 中 关于时间 类型的区别
1、首先获取当前系统数据库的日期和时间,可以利用函数GETDATE(),select GETDATE();如下图所示。2、获取当前世界标准时间的日期时间值,利用GETUTCDATE()函数,select GETUTCDATE();如下图所示。3、然后select DATEADD(DAY,1,'2015-5-11');在指定的时间增加一天。4、在指定的时间增加两年,select ...

SQL SERVER中日期的显示格式为YYYY-MM-DD,怎样设置为MM\/DD\/YYYY呢?
1、首先在桌面上,点击“Management Studio”图标。2、之后在Management Studio界面中,点击左上角“新建查询”按钮。3、接着在Management Studio界面中,输入日期的显示格式为MM\/DD\/YYYY的sql语句“select CONVERT(VARCHAR(10),time,111) from test2”。4、然后在Management Studio界面中,点击左上方“...

sql server有几种数据类型
Smalldatetime 日期时间型 smalldatetime 数据类型用来表示从1900年1月1日到2079年6月6日间的日期和时间,精确到一分钟 cursor 特殊数据型 cursor 数据类型是一种特殊的数据类型,它包含一个对游标的引用。这种数据类型用在存储过程中,而且创建表时不能用 timestamp 特殊数据型 timestamp 数据类型是一种特殊的数据类型...

在sql server2008中的日期类型是什么
sql server 2008 日期类型有DATETIME 和DATE类型,建议采用DATETIME类型 因为sql server 2005只支持DATETIME类型 DATE 类型值为 '2013-01-01'DATETIME 类型值为 '2013-01-01 23:13.33.993'你保存时若只有日期,值将显示为 '2013-01-01 00:00:00:000'当获取值时,若是C#语言转化字符串,很简单 ...

如何在SQL Server中插入时间类型的数据
把时间用单引号括起来就行了,例如:insert 表(日期)values('2015-03-23 17:00:00')

sql server 小时用什么类型
我学这个时学了sql数据库9大数据类型,但其中有一部分我到现在也不明白究竟什么时候用,因为后来很少用到,我就给你列举一下那些常用的吧!1.字符型数据:char\\varchar\\text 这几种数据类型都是用来装字符串的 char 固定长度存储数据 varcahr 按变长存储数据 text 当你需要存储非常大量的字符串时...

相似回答