SQL 将 varchar 列转换为 float

2023-12-11

导入工具将每个列作为 varchar(max) 放入多个表中,我正在寻找将列转换为正确类型的最快方法。

这工作正常,

ALTER TABLE dbo.myTable ALTER COLUMN myColumn INT

但这惨败了

ALTER TABLE dbo.myTable ALTER COLUMN myColumn FLOAT

有错误: 消息 8114,16 级,状态 5,第 26 行 将数据类型 varchar 转换为 float 时出错。

如何执行从 VarChar(max) 类型到 Float 类型的通用列转换?


我在这些帖子中找到了一些提示,但我无法将其转换:

如果 ISNUMERIC 将 varchar 转换为 float

转换数据类型 varchar 时出错

将 varchar 转换为 float 时出错

select case isnumeric([myColumn]) when 1 then cast([myColumn] as float) else null end
from dbo.myTable

and

SELECT TOP (100) CAST(CASE WHEN IsNumeric([myColumn]) = 1 THEN [myColumn] ELSE NULL END AS float) AS [myColumn]
FROM         dbo.myTable
WHERE     ([myColumn] NOT LIKE '%[^0-9]%')

ISNUMERIC 似乎有一些问题?

我不想这样做,因为有很多列需​​要编辑,是否有像 ALTER TABLE 这样的单行转换适用于大多数或所有场景?

或者有人建议将数据保存到临时列中?如果有人可以将代码发布到 tempColumn 中,然后转换原始数据并删除 tempColumn,这将是另一个有效的解决方案。


系统的小数点分隔符的配置方式是否与 varchar 字段的内容相同? 对于您的情况,我会建议您创建一个新列(FLOAT)而不是更改现有列。然后用更新填充该字段。

这是一种将文本显式转换为浮动的方法。在 SQL Server 中此查询:

select cast(replace('12,5',',','.') as float)*2

结果 25 作为响应。这意味着成功转换为FLOAT

因此,要使用强制转换值填充新列,您可以执行以下操作:

UPDATE Table SET FloatField=CAST(REPLACE(TextField,',','.') AS FLOAT)

替换 , 为 。 (如果有的话)然后转换为 FLOAT。希望这有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL 将 varchar 列转换为 float 的相关文章

  • LEFT JOIN 返回与 INNER JOIN 相同的结果

    我有一张桌子 磨砂膏 里面有 1600 个独特的物品 第二张桌子有100万以上 我运行 INNER JOIN 并获得 65 个匹配项 SELECT a BW Parent Number a Vendor Name b Parent Supp
  • 帮助将二进制图像数据从 SQL Server 读取到 PHP 中

    我似乎无法找到将二进制数据从 SQL 服务器读取到 PHP 的方法 我正在开发一个项目 需要能够将图像直接存储在 SQL 表中 而不是文件系统上 目前 我一直在使用这样的查询 插入 myTable 文档 选择 从 OPENROWSET BU
  • 为什么 SQL Server 不推荐使用 SET ANSI_PADDING OFF?

    根据 MSDN BOL 在线书籍 SET ANSI PADDING http msdn microsoft com en us library ms187403 aspx 在 Microsoft SQL Server 的未来版本中 ANSI
  • django pyodbc 数据源名称未找到

    当尝试连接到我的数据库服务器和 Django 中的数据库时 我收到错误 django db utils InterfaceError IM002 IM002 Microsoft ODBC Driver Manager 未找到数据源名称且未指
  • 如何在存储过程中使用名称求和和分组?

    我想对钱列求和 但我想要状态中的组名称和代码 这是存储过程代码 Sql Server 2008 SELECT um upmoney as money um pId as code um FName as name up status as
  • SQL如何显示某个日期之前的数据

    我有几张桌子 一个是一个工人表显示工人代码 名字和姓氏 工作日期其中显示工人代码 工作开始日期 结束日期和工作区域代码 导师有工人编号 名字 姓氏和工作区号 Job area有工作区域代码名称和主管 我想要做的是在日期 10 09 10 之
  • MSSQL:如何使用代码编写存储过程创建脚本?

    我正在尝试使用一个数据库中存在但另一个数据库中不存在的 information schema routines 查询存储过程定义列表 SELECT t1 Routine Definition FROM server1 MyDatabase
  • Wordnet sqlite 同义词和示例

    我正在尝试获取给定 wordid 的同义词和示例列表 经过大量的试验和错误 我可以获得所有同义词集的样本 但不是实际的同义词 这是我的查询 它给出了以下结果 select senses wordid senses synsetid sens
  • 如何从连接字符串中提取数据库名称,而不考虑 RDBMS?

    我正在研究一个不知道正在使用的 RDBMS 的课程 当然 应用程序的其余部分都清楚这一点 连接字符串是此类的输入 我需要数据库名称 无论 RDBMS 如何 如何从连接字符串中提取数据库名称 我读到以下问题 如何使用 SqlConnectio
  • 法语和西班牙语的特殊字符可以保存在 varchar 中吗?

    法语和西班牙语中有普通英语中不使用的特殊字符 重音元音等 varchar 是否支持这些字符 或者我需要一个 nvarchar 吗 注 我愿意NOT希望讨论我是否应该使用 nvarchar 还是 varchar 您在谈论什么 SQL 实现 我
  • 如何在oracle中获取表作为输出参数

    我正在尝试将 Oracle 过程调用的 out 参数强制转换为对象 它不起作用 因为 据我了解 我需要定义一个映射 它告诉方法如何转换它 如果地图为空或未正确填充 则它默认为 STRUCT 类型的对象 在我的情况下这是错误的 我已经构建了一
  • VIEW for 表结合 UNION ALL 的 MySQL 性能

    假设我有 2 张桌子MySQL create table persons id bigint unsigned not null auto increment first name varchar 64 surname varchar 64
  • 与常规 SQL 查询不同,为什么“linq to sql”查询以 FROM 关键字开头?

    为什么 linq to sql 查询以FROM与常规 SQL 查询不同的关键字 LINQ 模仿Logical Query processing在 SQL 中你有 8 SELECT 9 DISTINCT 11 TOP 1 FROM 2 ON
  • 使用显式值进行 BigQuery 合并

    据我所知 BigQuery 支持合并两个表 目前 INSERT操作允许将显式值插入表中 例如 INSERT dataset Inventory product quantity VALUES top load washer 10 front
  • Python从int到string的快速转换

    我正在用 python 求解大量阶乘 并发现当我完成计算阶乘时 需要相同的时间才能转换为字符串以保存到文件中 我试图找到一种将 int 转换为字符串的快速方法 我将举一个计算和 int 转换时间的例子 我正在使用通用的 a str a 但感
  • Sql批量复制截断小数

    当我使用批量复制将十进制值从 C DataTable 插入 Sql Server 2005 时 值会被截断而不是四舍五入 DataTable 中的数据类型为 Decimal 数据库中的数据类型为Decimal 19 3 数据表中的值为 1
  • 常量值如何影响连接的 ON 子句?

    我最近发现 LEFT JOIN 的 ON 子句可能包含 1 1 等值 这让我感到不安 因为它打破了我对连接功能的看法 我遇到过以下情况的更详细版本 SELECT DISTINCT Person ID FROM Person LEFT JOI
  • 从复选框列表中选择循环生成的复选框中的一个复选框

    抱歉我的英语不好 在我的 ASP NET 网站上 我从 SQL 表导入软件列表 看起来像这样 但实际上要长得多 Microsoft Application Error Reporting br br Microsoft Applicatio
  • SQL Server 标识列值从 0 而不是 1 开始

    我遇到了一个奇怪的情况 数据库中的某些表的 ID 从 0 开始 即使 TABLE CREATE 的 IDENTITY 1 1 也是如此 对于某些表来说是这样 但对于其他表则不然 它一直有效到今天 我尝试过重置身份列 DBCC CHECKID
  • SQLite 中的累积求和值

    我正在尝试在 SQLite 中执行值的累积和 我最初只需要对一列求和并获得代码 SELECT t MyColumn SELECT Sum r KeyColumn1 FROM MyTable as r WHERE r Date lt t Da

随机推荐

  • 汇总汇总数据

    我有一个如下表 SoftwareName Count Country Project 15 Canada Visio 12 Canada Project 10 USA Visio 5 USA 我如何查询它才能给我一个总结 例如 Softwa
  • DocuSign Connect X.509 证书身份验证/安全

    如何保护我的 DocuSign Connect https 侦听器 以便仅接受来自 DocuSign 的请求 我已阅读 Connect 服务指南 但不清楚以下设置是否可用于此目的 使用 X509 证书签署消息 此设置是否同时适用于 SOAP
  • 向量化矩阵的 min()

    我希望对以下循环进行矢量化 for i in 1 n for j in 1 m temp mat i j min temp mat i j 1 我以为我能做到temp mat min temp mat 1 但这并没有给我想要的结果 有没有办
  • 当应用程序以不同方式打开/关闭时显示推送通知

    在我的应用程序中 我有多个继承自一个 BaseActivity 的 Activity 我的应用程序收到推送通知GCMBaseIntentService我需要实现下一个逻辑 收到推送时 如果应用程序打开 则显示对话框 如果关闭 则显示通知 M
  • UWP NetworkConnectionChanged 事件

    我正在开发一个UWP应用程序 需要在失去网络连接或设备再次连接后执行一些操作 连接丢失或连接后是否会触发任何事件 我搜索了 www 但我发现的所有内容都是针对 WP8 的 我需要这个用于 Windows 10 上的 UWP 我尝试使用Net
  • 谷歌地图在div中没有​​完全渲染?

    在这里我有map canvas在一个div called map 问题是当我增加width of the map 一侧的谷歌地图未完全渲染 请帮忙 地图区域的宽度正在增加 但地图的右侧未完全渲染 当改变div的大小时 触发地图上的resiz
  • LINQ - 连接多个列表

    我查看了 101 个 Linq 示例here但我在该列表中看不到类似的内容 如果我在那里没有看到相关示例 请链接到它 如果我有这 3 门课 class Student int id string name class Course int
  • 为什么 POST 请求不总是经过预检?

    根据MDN 如果 Content Type 是以下任意一种 则不会预检 POST 请求application x www form urlencoded multipart form data or text plain 但不是multip
  • RDFa OfferCatalog 语法

    我一直在尝试找到使用 RDFa 将两个项目链接在一起的最佳方法 特别是将一个人链接到多个 SoftwareApplication 条目 我目前在作者页面上执行此操作的方式是 div class container text center s
  • Swift - 结构体或字典

    一般来说 在存储字典式结构化数据时 例如 let menuItems title View Profile icon iconSideProfile title Invite Friends icon iconSideHeart title
  • 如何在不使用对话框的情况下在 C# 项目中为 MySQL 数据库设置连接字符串?

    注意 显然 MySQL 连接器安装没有自动显示在添加数据源的对话框中的原因是 Visual 2008 速成版 不允许在 Visual Studio IDE 中进行 第三方集成 因此 这使得手动设置数据源变得更加重要 因为不存在来自 MySQ
  • 更新 Laravel 5.3 中的一对多关系

    我想更新一对多关系 例如我有一个名为Product class Product extends Model protected primaryKey product id public timestamps FALSE public fun
  • 被触摸的 UIView 的名称

    如何在touchesbegan事件中获取 touch view 的名称 所以如果它是 UIView aaaaaview 我会得到 aaaaaview 作为返回 谢谢你 不不不 UIView aaaaaView 只是指内存中的一个位置 所以如
  • 将 Alexa 与 Twitter 关联的帐户 - Amazon Echo

    截至目前 我似乎无法将我的 Alexa 技能与 Twitter 关联起来 目前 我有一个在 EBS 上运行的节点 express 服务器 我正在使用它护照推特处理身份验证的 oauth 部分 现在我的流程是这样的 在 Alexa 应用程序中
  • WPF baml bug:静态资源中的 EventSetter 被设置两次,第二次为 null

    如果我尝试在 xaml 中存储 SetterBase 对象的集合 其中包括 EventSetter 则 xaml 加载器会引发错误 根本原因是 xaml 加载器尝试两次设置PresentationFramework dll System W
  • 如何从具有非唯一键的字典创建 pandas 系列?

    我正在尝试从包含非唯一键的字典创建一个 pandas 系列 但 pandas 不断丢弃类似的键并仅加载最后一个 my dict1 Country US Country UK Country Japan Country China pd Se
  • 无法在其他 NgModule 中加载 NgModule 的共享指令

    按照此讨论 我遇到了同样的问题 我无法在多个模块中导入 angular2 materialize 的指令 而不会出现错误消息 Type X is part of the statements of 2 module 我决定遵循给出的解决方案
  • 用 javascript 获取上周

    我在脚本中使用以下内容 var startDate new Date 10 12 2012 var endDate new Date 10 18 2012 我希望动态创建这些日期 startDate 为上周一 endDate 为上周日 我已
  • 在 C# 中迭代​​ JSON 对象

    我在 C 中使用 JSON NET 来解析来自 Klout API 的响应 我的回应是这样的 id 5241585099662481339 displayName Music name music slug music imageUrl h
  • SQL 将 varchar 列转换为 float

    导入工具将每个列作为 varchar max 放入多个表中 我正在寻找将列转换为正确类型的最快方法 这工作正常 ALTER TABLE dbo myTable ALTER COLUMN myColumn INT 但这惨败了 ALTER TA