smalldatetime的类型是不是只能精确到分钟? 如果smalldatetime是可以支持到秒的,那么是不是我哪里设错了,怎么改才能精确到秒? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 只能到分钟SQL Server 将 smalldatetime 的值存储为两个 2 字节的整数。第一个 2 字节存储 1900 年 1 月 1 日后的天数。另外一个 2 字节存储午夜后的分钟数。日期范围从1900 年 1 月 1 日到 2079 年 6 月 6 日,精确到分钟。用datetime吧datetime 精确度为百分之三秒 datetime從 1753 年 1 月 1 日到 9999年 12 月 31 日的日期時間資料,精確度到 300 分之 1 秒,即 3.33 毫秒。值會捨入成 .000, .003,即 .007 毫秒的遞增量,如下表所示。範例 捨入之後 01/01/98 23:59:59.999 1998-01-02 00:00:00.000 01/01/98 23:59:59.995,01/01/98 23:59:59.996, 01/01/98 23:59:59.997, or01/01/98 23:59:59.998 1998-01-01 23:59:59.997 01/01/98 23:59:59.992, 01/01/98 23:59:59.993, 01/01/98 23:59:59.994 1998-01-01 23:59:59.993 01/01/98 23:59:59.990 or01/01/98 23:59:59.991 1998-01-01 23:59:59.990 SQL Server 會拒絕介於 1753 和 9999 之間且無法辨識為日期的所有值。smalldatetime日期及時間資料從西元 1900 年 1 月 1 日到西元 2079 年 6 月 6 日,精準度為分。29.998 秒或更小的 smalldatetime 值將捨棄尾數成為最接近的分;29.999 秒或更大的值將補足尾數成為最接近的分。--returns time as 12:35SELECT CAST('2000-05-08 12:35:29.998' AS smalldatetime)GO--returns time as 12:36SELECT CAST('2000-05-08 12:35:29.999' AS smalldatetime)GO備註具有 datetime 資料型別的值,在 Microsoft® SQL Server™ 內部是以兩個 4 位元組整數的形態儲存。前 4 個位元組儲存 base date (1900 年 1 月 1 日) 之前或之後的日數。基礎日期是系統參考日期。早於 1753 年 1 月 1 日的 datetime 值將不被允許。其它 4 個位元組儲存一天內的時間,從午夜開始算起,以毫秒表示。smalldatetime 資料型別所儲存的日期與時間,其精確度不如 datetime。SQL Server 將 smalldatetime 值存成兩個 2 位元組整數。前面 2 個位元組儲存了從 1900 年 1 月 1 日算起的日數。其它 2 個位元組儲存了自午夜算起的分鐘數。日期範圍從 1900 年 1 月 1 日到 2079 年 6 月 6 日,精確度到分鐘。 直接改为datetime类型就可以了 update,在满足条件的列前加字符串! 两个查询结果合并的问题 Unsupported method: ResultSet.first问题,我已设Statement stmt 求一简单sql语句 如果在JOB中执行DTS 求一条SQL语句 for each row语句不能用?? SQL排程新算法后续问题 这个存储过程怎么写,有点难哦,应该是超难点。 索引 不允许使用的构造(大家一起来看看。。。) 客户段无法联接服务器(利用ms sql的客户端联接工具也无法连接). 大问题,非常急
SQL Server 将 smalldatetime 的值存储为两个 2 字节的整数。第一个 2 字节存储 1900 年 1 月 1 日后的天数。另外一个 2 字节存储午夜后的分钟数。日期范围从1900 年 1 月 1 日到 2079 年 6 月 6 日,精确到分钟。
用datetime吧
datetime 精确度为百分之三秒
01/01/98 23:59:59.999 1998-01-02 00:00:00.000
01/01/98 23:59:59.995,
01/01/98 23:59:59.996,
01/01/98 23:59:59.997, or
01/01/98 23:59:59.998 1998-01-01 23:59:59.997
01/01/98 23:59:59.992,
01/01/98 23:59:59.993,
01/01/98 23:59:59.994 1998-01-01 23:59:59.993
01/01/98 23:59:59.990 or
01/01/98 23:59:59.991 1998-01-01 23:59:59.990
SQL Server 會拒絕介於 1753 和 9999 之間且無法辨識為日期的所有值。smalldatetime日期及時間資料從西元 1900 年 1 月 1 日到西元 2079 年 6 月 6 日,精準度為分。29.998 秒或更小的 smalldatetime 值將捨棄尾數成為最接近的分;29.999 秒或更大的值將補足尾數成為最接近的分。--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備註
具有 datetime 資料型別的值,在 Microsoft® SQL Server™ 內部是以兩個 4 位元組整數的形態儲存。前 4 個位元組儲存 base date (1900 年 1 月 1 日) 之前或之後的日數。基礎日期是系統參考日期。早於 1753 年 1 月 1 日的 datetime 值將不被允許。其它 4 個位元組儲存一天內的時間,從午夜開始算起,以毫秒表示。smalldatetime 資料型別所儲存的日期與時間,其精確度不如 datetime。SQL Server 將 smalldatetime 值存成兩個 2 位元組整數。前面 2 個位元組儲存了從 1900 年 1 月 1 日算起的日數。其它 2 個位元組儲存了自午夜算起的分鐘數。日期範圍從 1900 年 1 月 1 日到 2079 年 6 月 6 日,精確度到分鐘。