首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Sqlserver DateTime转换成SMALLDATETIME时“产生一个超出范围的值”「建议收藏」

工作中遇到一个问题,A表中字段(DateTime1)的数据类型为DateTime,新建了一张表B的SMALLDATETIME1字段的数据来自A表的DateTime1 但在将A表字段DateTime1导出到...B表的 SMALLDATETIME1字段时出现了以下错误 后经过排查发现在原来是A表 DateTime1字段的值有许多是”1753-01-01 00:00:00.000″,从而导致转换失败 虽然知道了是什么原因导致的...以上版本支持,2005不支持) DateTime时间范围”1753-01-01 00:00:00.000″到”9999-12-31 23:59:59.997″ smalldatetime时间范围...DateTime转换成smalldatetime, smalldatetime时间范围”1900-01-01 00:00:00″到”2079-06-06 23:59:00″ 2076-06-06以后的日期也无法转换...在 smalldatetime时间范围内的日期 DECLARE @date DATETIME SET @date='1753-01-01 00:00:00.000' SELECT CAST (@

1K20

SQL SERVER的数据类型

(4)日期和时间数据类型   日期和时间数据类型包括 Datetime 和 Smalldatetime两种类型   日期和时间数据类型由有效的日期和时间组成。...在 Microsoft SQL Server中,日期和时间数据类型包括Datetime 和 Smalldatetime 两种类型时,所存储的日期范围是从 1753 年 1 月 1 日开始,到9999 年...3333333,当使用近似数据类型时能准确表示。因此,从系统中检索到的数据可能与存储在该列中数据不完全一样。 (6)货币数据表示正的或者负的货币数量 。   ...Uniqueidentifier 由 16 字节的十六进制数字组成,表示一个全局唯一的。当表的记录行要求唯一时,GUID是非常有用。例如,在客户标识号列使用这种数据类型可以区别不同的客户。...datetime 从1753年1月1日到9999年12日31的日期和时间数据,最小时间单位为百分之三秒或3.33毫秒 smalldatetime 从1900年1月1日到2079年6月6日的日期和时间数据

1.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SQL基本语法和书写格式

    by 的列名> asc 或 desc select * from 表名 //查询所有数据 select 列名列表 from 表名 where 查询条件 //查询部分行或列 select 列名 as...列别名 from 表名 where 查询条件 //使用列别名 select * from 表名 where 列名 is null //查询空值 select 列别名 = 列名, 默认信息 as 列名...') 返回 nbme stuff 在一个字符串中, select stuff('name',2,3,'bsp') 删除指定长度的字符, 返回 nbsp 并在该位置插入一个新的字符  日期函数 getdate...varchar 可变长度非Unicode字符数据 nchar 固定长度Unicode字符数据 nvarchar 可变长度Unicode字符数据 text 长文本信息 ntext 可变长度长文本信息 日期和时间...日期、时间 datetime 1753-1-1到9999-12-31,准确度三百分之一秒或3.33毫秒 数字 正数、负数、分数 int 整数 smallint  tinyint  bigint

    1K10

    SQL SERVER 中的smalldatetime和datetime区别「建议收藏」

    datetime占8字节,精度3.33毫秒,时间从1753.1.1到9999.12.31 smalldatetime占4字节,精度1分钟,时间从1900.1.1到2079.6.6 datetime...碰上了這件事,才學到教訓,一直以為smalldatetime和datetime的差別只是在於時間範圍: smalldatetime的有效時間範圍1900/1/1~2079/6/6...datetime的有效時間範圍1753/1/1~9999/12/31 所以我判斷如果該值不用到太遠的日期範圍,就會使用smalldatetime。...但我忽略了更關鍵的差別,那就是 smalldatetime只精準到分,而datetime則可精準到3.33毫秒。...使用冒号时表示的意义同时分秒间隔,11:11:11:21表示021毫秒,前面的0省略,而小数点表示的意义同数学上的小数点,如11:11:11.21表示210毫秒,省略的是后面的0。

    2.1K40

    smalldatetime mysql_SQLSERVER中datetime和smalldatetime类型分析说明「建议收藏」

    第一个 4 字节存储 base date (即 1900 年 1 月 1 日)之前或之后的天数。基础日期是系统参考日期。不允许早于 1753 年 1 月 1 日的 datetime 值。...第一个4 字节:1900 年1 月1 日当日为0 ;之前的日期是负数;之后日期是正数。另外一个 4 字节存储以午夜后3 1/3 毫秒数所代表的每天的时间。...datetime 从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确度为百分之三秒(等于 3.33 毫秒或 0.00333 秒)。...,我们在给一个时间变量赋值时肯定不会赋一个浮点数给该变量,更多的情况是我们给这个变量赋一个字符串,系统会自动将字符串变成时间格式并保存到数据库中。...您可能感兴趣的文章:sql server中datetime字段去除时间的语句 sql语句中如何将datetime格式的日期转换为yy-mm-dd格式 使用 MySQL Date/Time 类型 sql

    2.4K10

    SQL Server 数据类型

    (4) 日期和时间数据类型 日期和时间数据类型包括 Datetime 和 Smalldatetime 日期和时间数据类型由有效的日期和时间组成。...在 Microsoft SQL Server中,日期和时间数据类型包括Datetime 和 Smalldatetime 两种类型, Datetime所存储的日期范围是从 1753 年 1 月 1 日开始...3333333,当使用近似数据类型时能准确表示。因此,从系统中检索到的数据可能与存储在该列中数据不完全一样。 (6)货币数据表示正的或者负的货币数量 。...Uniqueidentifier 由 16 字节的十六进制数字组成,表示一个全局唯一的。当表的记录行要求唯一时,GUID是非常有用。例如,在客户标识号列使用这种数据类型可以区别不同的客户。 2....datetime 从1753年1月1日到9999年12日31的日期和时间数据,最小时间单位为百分之三秒或3.33毫秒 smalldatetime 从1900年1月1日到2079年6月6日的日期和时间数据

    2.1K10

    Power Pivot中忽略维度筛选函数

    返回 表——包含已经删除过滤器后的一列或多列的表。 C. 注意事项 第1参数是表,第2参数是列,而All函数的第1参数是表或者列。...——累计时间计算 Power Pivot智能日期运用——累计至今 Power Pivot智能日期运用——当前初始日期/当前结束日期 Power Pivot智能日期运用——连续时间(1) Power Pivot...智能日期运用——连续时间(2) Power Pivot智能日期运用——时间点 如何在DAX Stadio和Excel中返回表和度量值?...升级篇 Power Query中单列数据按需转多列 在Power Query中如何进行类似"*"的模糊匹配查找? 如何在Power Query中达到函数Vlookup的效果?...(合并查询) 函数应用案例: 如何快速找出包含英文关键词的数据?

    8K20

    ClickHouse学习-建表和索引的优化点(一)

    现在我们来看看clickhouse都有哪些常规的优化点,今天主要学习一下创建表的时候需要注意的点 建表优化 1. 数据类型 1.1 null值尽量避免 1.2 日期都存储为日期类型 时间戳类型。...用四个字节(无符号的)存储 Unix 时间戳)。允许存储与日期类型相同的范围内的值。最小值为 1970-01-01 00:00:00。时间戳类型值精确到秒(没有闰秒)。 2....2.2 索引优化 我们先搞清楚,clickhouse的索引是如何存储的,当数据被插入到表中时,会创建多个数据片段并按主键的字典序排序。...在 Wide 格式下,每一列都会在文件系统中存储为单独的文件,在 Compact 格式下所有列都存储在一个文件中。Compact 格式可以提高插入量少插入频率频繁时的性能。...by指定,一般在查询条件中经常被用来充当筛选条件的属性被纳入进来 可以是单一维度,也可以是组合维度的索引,通常需要满足高级列在前、查询频率大的在前原则; 基数特别大的不适合做索引列(可以对比上图索引创建规则

    3.3K20

    mysql smalldatetime_datetime与smalldatetime之间的区别

    1、一直以为smalldatetime和datetime的差别只是在于时间范围: smalldatetime的有效时间范围1900/1/1~2079/6/6 datetime的有效时间范围1753/1/...1~9999/12/31 所以我判断如果该值不用到太远的日期范围,就会使用smalldatetime。...2、但我忽略了更关键的差别,那就是smalldatetime只精准到分,而datetime则可精准到3.33毫秒。...datetime占用8个字节,前4个字节存储base date(即1900年1月1日)之前或之后的天数,后4个字节存储午夜后的毫秒数。...使用冒号时表示的意义同时分秒间隔,11:11:11:21表示021毫秒,前面的0省略,而小数点表示的意义 同数学上的小数点,如11:11:11.21表示210毫秒,省略的是后面的0。

    81410

    常用的数据库的字段类型及大小比较_sql字段长度

    (4)日期和时间数据类型   日期和时间数据类型包括 Datetime 和 Smalldatetime两种类型   日期和时间数据类型由有效的日期和时间组成。...在 Microsoft SQL Server中,日期和时间数据类型包括Datetime 和 Smalldatetime 两种类型时,所存储的日期范围是从 1753 年 1 月 1 日开始,到9999 年...+38可变精度的数字 datetime 从1753年1月1日到9999年12日31的日期和时间数据,最小时间单位为百分之三秒或3.33毫秒 smalldatetime 从1900年1月1日到2079...字节数为16 Datetime 保存定长的日期时间数据,范围为1753年1月1日到公元9999年12月21日,精度为3微秒间隔。 每行固定为8字节长度。...Smalldatetime 保存定长的日期时间数据,范围为1990年1月1日到公元2079年6月6日,精度为分钟间隔。 每行固定为4字节长度。

    3.8K10

    数据库应用技术系列第一讲 创建数据库和表

    (1)datetime:可表示的日期范围从1753年1月1日到9999年12月31日,精确度为0.03s(3.33ms或0.00333s)。...例如,1~3ms的值都表示为0ms,4~6ms的值都表示为4ms。 用户给出datetime类型数据值时,日期部分和时间部分分别给出。...:15:18.2 时:分:秒:毫秒 20:15:18:200 时:分AM|PM 10:10AM、10:10PM (2)smalldatetime:可表示从1900年1月1日到2079年6月6日的日期和时间...若创建表时定义一个列的数据类型为时间戳类型,那么每当对该表加入新行或修改已有行时,都由系统自动将一个计数器值加到该列,即将原来的时间戳值加上一个增量。...该表达式可以是非计算列的列名、常量、函数、变量, 也可以是用一个或多个运算符连接的这些元素的任意组合。 表达式不能为子查询。

    1.5K20

    MSSQL之四 简单查询

    Ø 日期和时间数据类型 日期和时间数据类型包括DATETIME和SMALLDATETIME两种数据类型。...如果希望存储日期和时间数据,那么可以使用DATETIME或SMALLDATETIME数据类型。 这两种数据类型的差别在于其表示的日期和时间范围不同、时间精确度也不同。...DATETIME数据类型可以表示的范围是1753年1月1日至9999年12月31日,时间精确度是3.33毫秒。...可以在ORDER BY子句中指定多个列,查询结果首先按第1列进行排序,对第1列值相同的那些数据行,再按照第2行排序…..依此类推,ORDERBY子句,要写在WHERE子句的后面。...运行结果如下: Ø 使用UNION运算符 UNION运算符用于将两个或多个查询结果合并成一个结果,当使用UNION运算符时,需要遵循以下两个规则: (1) 所有查询中列数和列的顺序必须相同

    8910

    sql server时间戳timestamp

    在SQL Server中联机丛书是这样说的: SQL Server timestamp 数据类型与时间和日期无关。...每次修改页时,都会使用当前的 @@DBTS 值对其做一次标记,然后 @@DBTS 加1。这样做足以帮助恢复过程确定页修改的相对次序,但是 timestamp 值与时间没有任何关系。...第一个 4 字节存储 base date(即 1900 年 1 月 1 日)之前或之后的天数。基础日期是系统参考日期。不允许早于 1753 年 1 月 1 日的 datetime 值。...当带有 timestamp 列的一行被插入或更新时,会产生一个新的时间戳值。...在使用 rowversion 时,必须指定列名。 注意: 在使用其中的 SELECT 列表中具有 timestamp 列的 SELECT INTO 语句时,可能会生成重复的时间戳值。

    22510

    数据库查询优化的一般步骤_sql创建数据库失败

    所以在创建联合索引的时候一定要注意索引字段顺序,常用的查询字段放在最前面。...这时就可以采用 forceindex 来强制优化器使用我们制定的索引。 5、日期时间类型 对于非标准的日期字段,例如字符串的日期字段,进行分区裁剪查询时会导致无法识辨,依旧走全表扫描。...在日常中你会发现全模糊匹配的查询,由于 MySQL 的索引是 B+ 树结构,所以当查询条件为全模糊时,例如 %AB%、%AB,索引无法使用,这时需要通过添加其他选择度高的列或者条件作为一种补充,从而加快查询速度...获取⼤量数据时,建议分批次获取数据,每次获取数据少于 5000 条,结果集应⼩于 1M。 17、复杂查询还是简单查询? 不要用一个SQL解决所有事情,可以分步骤做,省时、易理解、优化。...大事务或者长查询的需求根据业务特点拆分 杜绝程序中在处理事务时夹杂 RPC,会造成资源长时间不释放。有很多锁超时、并发数上涨都是由于事务中有 RPC 造成的。

    1.2K20

    数据库SQL语句大全——最常用的SQL语句

    使用时放在列名的前面 2、多查询一个及以上列时,除非你查询的所有列的数据都不同,否则所有行都将被检索出来 限制检索结果: SELECT pname FROM product LIMIT 5,5 limit5,5...0个或1个匹配(等于{0,1}) {n} 指定数目的匹配 {n,} 不少于指定数目的匹配 {n,m} 匹配数目的范围(m不超过255) 定位符 ^ 文本的开始 $ 文本的结尾 [[:的开始...() 增加一个时间(时、分等) CURDATE() 返回当前日期 CURTIME() 返回当前时间 DATE() 返回日期时间的日期部分 DATEDIFF() 计算两个日期之差 DATE_ADD() 高度灵活的日期运算函数...DATE_FORMAT() 返回一个格式化的日期或时间串 DAY() 返回一个日期的天数部分 DAYOFWEEK() 对于一个日期,返回对应的星期几 HOUR() 返回一个时间的小时部分 MINUTE...() 返回一个时间的分钟部分 MONTH() 返回一个日期的月份部分 NOW() 返回当前日期和时间 SECOND() 返回一个时间的秒部分 TIME() 返回一个日期时间的时间部分 YEAR() 返回一个日期的年份部分

    3K30

    八、MYSQL常用函数

    常用的 MySQL 内置函数如下: now 函数 now() 用于返回当前的日期和时间。...在实际应用中,大多数业务表都会带一个创建时间 create_time 字段用于记录每一条数据产生的时间,在向表中插入数据时,就可以在 insert 语句中使用 now() 函数。...函数 date_format() 用于以指定的格式显示日期或时间,在实际应用中一般会按照标准格式存储日期时间,但是在查询使用数据的时候往往又会有不同的格式要求,这是就需要 date_format()...,并返回单个值,常用的聚合函数有五种: 函数 描述 count 返回符合条件的记录总数 sum 返回指定列的总和,忽略空值 avg 返回指定列的平均值,忽略空值 min 返回指定列的最小值,忽略空值 max...返回指定列的最大值,忽略空值 TIP 这里的空值指的是 NULL ifnull 函数 ifnull() 用于处理NULL值,ifnull(v1,v2),如果v1的值不为 NULL,则返回

    1K20

    58到家MySQL军规升级版

    ,高并发情况下容易成为数据库瓶颈 建议将大字段,访问频度低的字段拆分到单独的表中存储,分离冷热数据 解读:具体参加《如何实施数据库垂直拆分》 四、列设计规范 根据业务区分使用tinyint/int/bigint...,适合使用varchar,能够减少空间 根据业务区分使用datetime/timestamp 解读:前者占用5个字节,后者占用4个字节,存储年使用YEAR,存储日期使用DATE,存储时间使用datetime...*会增加cpu/io/内存/带宽的消耗 (2)指定字段能有效利用索引覆盖 (3)指定字段查询,在表结构变更时,能保证对应用程序无影响 insert必须指定字段,禁止使用insert into T values...() 解读:指定字段插入,在表结构变更时,能保证对应用程序无影响 隐式类型转换会使索引失效,导致全表扫描 禁止在where条件列使用函数或者表达式 解读:导致不能命中索引,全表扫描 禁止负向查询以及%开头的模糊查询...解读:导致不能命中索引,全表扫描 禁止大表JOIN和子查询 同一个字段上的OR必须改写问IN,IN的值必须少于50个 应用程序必须捕获SQL异常 解读:方便定位线上问题 说明:本军规适用于并发量大,数据量大的典型互联网业务

    1.3K150
    领券