当前位置: 首页 > 面试题库 >

在SQL Server 2008中将nvarchar转换为bigint

潘泳
2023-03-14
问题内容

我想将一个表的所有行插入另一个表,并且还希望将一个nvarchar字段转换为bigint,但是当我使用convert(bigint, col1)SQL Server时显示错误:

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

我该如何解决这个问题?


问题答案:

您可以尝试使用ISNUMERIC以确定确实是数字的那些行:

UPDATE dbo.YourTable
SET BigIntColumn = CAST(NVarcharColumn AS BIGINT)
WHERE ISNUMERIC(NVarcharColumn) = 1

那将转换那些可以转换的行-其他行需要手动处理。



 类似资料:
  • 问题内容: 我已经在动态SQL中创建了一个过程,该过程具有一个select语句,并且代码如下所示: 当我使用以下语句执行此过程时: 我收到以下错误。 消息245,级别16,状态1,procedurecagroup,第33行将nvarchar值’SELECT [Gro] AS GName,’转换为数据类型int时,转换失败。 我在哪里做错了? 问题答案: 您需要在串联中将所有数字CAST转换为nva

  • 问题内容: 我在代码隐藏中收到转换失败的错误。我的代码如下: 我收到以下错误: 将nvarchar值转换为数据类型int时,转换失败。 在这里必须进行哪些更改? 问题答案: 我想这是一个整数,但您正在分配一个字符串。因此,这可能会解决它: 编辑:由于您已评论该会话存储了用户名,但该列是一个int列,因此您有三个选择: 更改会话以存储用户标识而不是名称 更改列以存储用户名 从存储用户名的表中选择用户

  • 具有值的表 在存储过程中,我想从表中选择值,然后将其转换为var二进制最大值。我选择: 但是我得到一个错误: 不允许从数据类型varchar隐式转换为var二进制(max)。使用CONVERT函数运行此查询。 请帮我解决这个问题

  • 问题内容: 我已经搜索了这个很棒的论坛并在Google周围搜索,但无法解决。 我们有两个表(相信我,我与这些表无关)。这两个表都有一个名为的列。 然而,在一个表中,数据类型就是和在另一个表中,这是。 我们从选择这里被定义为和保存该ID写入其中被定义为。 作为数据类型descrepancy的结果,我们得到错误转换数据类型来。 在不弄乱数据库的情况下,我想强制使用摆脱该错误。 有什么想法我在下面的代码

  • 问题内容: 我在Swift 中将元素转换为,然后将变量转换回时遇到了问题。 首先,我想提取以下JSON数据的元素: 放入NSData 变量,但似乎无法做到这一点。我用来解析如下: 但这给了我一个ScalarNumber数组,我不知道如何存储到一个对象中。 其次,我想从同一个对象生成回来: 但是NSData 对象不会转换为[-67,51,-38,61,-72,102,48],它只是使JSON字符串无

  • Microsoft SQL Server,数据库中的列定义为NVARCHAR,但在Java代码中定义为。 Hibernate失败,验证错误如下: 原因:org.hibernate.tool.schema.spi.schemaManagementException:模式验证:在表[Table_Name]中的列[Column_Name]中遇到错误的列类型;找到[nvarchar(types#nvarc