Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从sql列中选择不同数据类型的记录_Sql_Sql Server - Fatal编程技术网

如何从sql列中选择不同数据类型的记录

如何从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 上面的操作带有一个警告,即警告:通过

我有两个房间,一张桌子和一个视野。表if包含两行数据类型nvarchar和money。我一直在通过从如下视图中选择来更新表

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以来,我一直在关注错误的专栏。就是这样,先生。谢谢你抽出时间。从那以后,我就开始关注错误的专栏了。