Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.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 Server Ce 2005数据转换失败_Sql_Sql Server - Fatal编程技术网

基于表中的数据,SQL Server Ce 2005数据转换失败

基于表中的数据,SQL Server Ce 2005数据转换失败,sql,sql-server,Sql,Sql Server,我有一个类似这样的问题: select * from table where varchar_column=Numeric_value 在我运行插入脚本之前,这很好。插入新数据后,我必须使用此查询: select * from table where varchar_column='Numeric_value' 插入某种数据是否会导致它不再隐式转换? 插入脚本后,错误为数据转换失败OLEDB Status=2 第二个查询确实有效我不确定这一点。。。第一种可能是将varcha

我有一个类似这样的问题:

    select * from table where varchar_column=Numeric_value 
在我运行插入脚本之前,这很好。插入新数据后,我必须使用此查询:

    select * from table where varchar_column='Numeric_value'
插入某种数据是否会导致它不再隐式转换? 插入脚本后,错误为数据转换失败OLEDB Status=2
第二个查询确实有效

我不确定这一点。。。第一种可能是将varchar_列隐式转换为数值。而不是相反。但当您将不再可转换的值插入该列时,它将失败。然而,对于第二个,你正在做一个varchar到varchar的比较,世界上的一切又恢复了正常。我猜。

听起来它会尝试将列值转换为数字,而不是将数字值转换为varchar并将其与列值进行比较-这似乎是它的作用,现在,我在插入脚本数据中发现,varchar_列中有字符,因此无法将其转换为numberit,这有点奇怪,但如果仔细想想,它确实有意义。如果从varchar到decimal/numeric,而不是相反,则比较可能更正确。。。由于1.1可以用无限的varchar值表示。。。即1.10、1.100、1.1000等。