在视图中更改数据类型并没有真正改变?

时间:2016-08-29 19:24:19

标签: sql sql-server

我有一个表格,其中包含#34; Ticket_Number"其数据类型为int。我需要在外部联接中将此字段连接到" KeyData"另一个日志文件表中的字段,其数据类型为" varchar(50)"并且有时会有包含文本的数据,但也有票号,我需要连接到此表中的记录。我尝试过使用"转换"在该领域的功能,甚至在已经只拉动"数字式"数据。然而,即使我试图连接到一个已经只拉动"类似数字的"数据,我继续得到转换失败错误。我该怎么办?

1 个答案:

答案 0 :(得分:0)

您在VARCHAR字段中可能存在用于连接条件的字符值。 如果您使用的是SQL Server 2012版本,请使用TRYCONVERT而不是CONVERT函数,如下所示。

    On Ticket_Number= TRYCONVERT (int,KeyData)

或者您也可以通过在where子句中添加ISNUMERIC()函数来消除这些非数字值。

     Where ISNUMERIC (KeyData)=1