如何从sql列中选择不同数据类型的记录
我有两个房间,一张桌子和一个视野。表if包含两行数据类型nvarchar和money。我一直在通过从如下视图中选择来更新表如何从sql列中选择不同数据类型的记录,sql,sql-server,Sql,Sql Server,我有两个房间,一张桌子和一个视野。表if包含两行数据类型nvarchar和money。我一直在通过从如下视图中选择来更新表 Insert into MyTable Select * from MyView 最近,由于错误“字符串或二进制数据将被截断”,此更新失败 Select * from Myview WHERE Column is not null OR Select * from Myview WHERE Column > 0 上面的操作带有一个警告,即警告:通过
Insert into MyTable
Select * from MyView
最近,由于错误“字符串或二进制数据将被截断”,此更新失败
Select * from Myview WHERE Column is not null
OR
Select * from Myview WHERE Column > 0
上面的操作带有一个警告,即警告:通过聚合或其他设置操作消除空值。
。我突然想到,可能是其中一个空值记录包含非空的内容。“我的表”列为money类型,接受null。我推测错误可能是由于非货币数据类型造成的。记录是巨大的。我有没有办法过滤并返回那些外星人的记录
我还了解到,我可以通过打开和关闭ANSI警告设置来消除错误。我担心的是这不会导致数据丢失。请提供帮助。表MyView中某些列中的数据似乎超出了表MyTable中相应列的限制表MyView中某些列中的数据似乎超出了表MyTable中相应列的限制字符串或二进制数据将被截断,因为数据来自MyView的数据大于MyTable中的列大小 使用 检查MyTable中nvarchar字段的最大长度 或者,在插入类似这样的数据时,可以使用Left
Insert into MyTable
Select Left(FieldName,50), Column1 from MyView
注意:50应该是MyTable中nvarchar字段的大小,字符串或二进制数据将被截断,因为来自MyView的数据大于MyTable中的列大小 使用 检查MyTable中nvarchar字段的最大长度 或者,在插入类似这样的数据时,可以使用Left
Insert into MyTable
Select Left(FieldName,50), Column1 from MyView
注意50应该是MyTable中nvarchar字段的大小,字符串或二进制数据将被截断是一个非常常见的错误。当我们试图在字符串(varchar、nvarchar、char、nchar)数据类型列中插入大于列大小的任何数据时,通常会发生这种情况。因此,您需要检查与列宽相关的数据大小,确定是哪列造成了问题,并进行修复 这是另一个与stackoverflow中的问题相同的线程。 希望这会有所帮助。
字符串或二进制数据将被截断是一个非常常见的错误。当我们试图在字符串(varchar、nvarchar、char、nchar)数据类型列中插入大于列大小的任何数据时,通常会发生这种情况。因此,您需要检查与列宽相关的数据大小,确定是哪列造成了问题,并进行修复 这是另一个与stackoverflow中的问题相同的线程。 希望这会有所帮助。
关于您可能想告诉我们这些表和视图的外观以及其中的内容。例如,视图的nvarchar是否比表的nvarchar长?OMG。这正是我忽略的,先生。表nvarchar列的长度为20,我的视图nvarchar列的长度为25。谢谢您的时间。您可能想告诉我们这些表和视图的外观以及其中的内容。例如,视图的nvarchar是否比表的nvarchar长?OMG。这正是我忽略的,先生。表nvarchar列的长度为20,我的视图nvarchar列的长度为25。谢谢你抽出时间。哈哈。就是这样,先生。谢谢你抽出时间。自从.LOL以来,我一直在关注错误的专栏。就是这样,先生。谢谢你抽出时间。从那以后,我就开始关注错误的专栏了。