从SQL Server 2014将nvarchar转换为bigint

时间:2015-12-16 13:36:49

标签: sql-server sql-server-2014

我想在 #index_jum{ background-size: cover; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; } 中将sqi_mainmiddleman24复制到sqi_test

  • sqitable类型为sqi_test
  • bigint类型为sqi_main

我在SQL Server 2014中使用此命令:

nvarchar(20)

INSERT INTO sqitable(sqi_test) SELECT sqi_main FROM Middleman24 内容

sqi_main

但是我收到了这个错误:

  

将数据类型nvarchar转换为bigint时出错。

我尝试了其他解决方案,例如

2
3
1
-5
30
-1
50

但我又得到了同样的错误。

2 个答案:

答案 0 :(得分:1)

您的某些数据无法转换为bigint,并且作为提及的评论者之一,ISNUMERIC不是一个完美的解决方案。

由于您使用的是SQL 2014,因此使用TRY_CONVERT()函数(也可以使用TRY_PARSE())。 Google或搜索MSDN以获取所有详细信息。

答案 1 :(得分:1)

如果数据是干净的,您可以使用CAST:

SELECT CAST(sqi_main as bigint) FROM Middleman24;

否则,请使用TRY_PARSE

SELECT TRY_PARSE(sqi_main as bigint) FROM Middleman24;