将 MySQL 表 varchar 字段更改为十进制字段

2023-12-10

我有一个 MySQL 表,其中有几列,例如

id  text_1  val_1   text_2  text_3  val_2
1   'bla'   1,23    'blub'  5,67    12,34

不幸的是所有字段都定义为varchar。现在我尝试更改表以将某些字段设为十进制值。

我会尝试

UPDATE table SET
val_1 = CAST(val_1 AS DECIMAL(5,2)),
val_2 = CAST(val_2 AS DECIMAL(5,2));

这应该给我两位小数和最大值 999,99 的十进制值,对吗?

这是改变表结构的正确方法吗?这应该是一次性转换,因为值应该是十进制类型,而字符串应该是 varchar 类型。

我必须先将“逗号”转换为“点”吗?

Update

不幸的是我也有像“


是的,您必须将 , 转换为 .第一的。

UPDATE sometable SET val_1=REPLACE(val_1,',','.');

之后必须更改该表:

ALTER TABLE sometable MODIFY COLUMN val_1 DECIMAL(5,2);

您的更新声明不是必需的。

如果您的值较小,它们将被四舍五入(在您的情况下向下舍入)。为了防止舍入,请使用另一个DECIMAL设置(更多数字)。

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

将 MySQL 表 varchar 字段更改为十进制字段 的相关文章

随机推荐

  • 使用 API 在 Azure Key Vault 中创建密钥

    我是通过指定的订阅创建的 Azure Key Vault 跟着这篇文章 https learn microsoft com en us rest api keyvault keyvaultpreview vaults createorupd
  • 为什么对象键会转换为“[object Object]”?

    这段代码 var a b key b c key c a b 111 a c 222 console log a b 输出 222 不是 111 解释 b and c都将转换为 object Object 有人可以解释这是为什么吗 obje
  • read.csv 似乎没有检测到 R 4.0.0 中的因素

    我最近从 R 3 5 1 更新到 R 4 0 0 的行为read csv似乎已经改变 当我在 R 4 0 0 中加载 csv 文件时 不会自动检测因素 而是被识别为字符 我还在我的机器上运行 3 5 1 当使用相同的代码加载 3 5 1 中
  • 为什么在 Dataflow beta 中 #sideInput() 方法从 Context 移至 ProcessContext

    我想知道为什么有 sideInput 方法移至ProcessContext班级 以前我可以在 startBundle 方法并缓存结果 这样做在 processElement 听起来效率较低 当然 我可以在将数据传递到视图之前进行预处理 但是
  • shell:通配符能保证字母顺序吗?

    当我有文件时a txt b txt and c txt is it 保证 that cat txt gt all files txt or cat txt gt all files txt 会按字母顺序合并文件吗 在我所有的测试中 字母顺序
  • perf中的时间戳是什么意思?

    我想使用 perf 来测量函数的实际执行时间 perf script 命令给出调用函数时的时间戳 Xorg 1523 001 25712 423702 probe sock write iter ffffffff95cd8b80 时间戳字段
  • 我在阅读文档上构建项目时遇到问题

    使用 sphinx quickstart 创建了 sphinx 项目 运行 make html 并且没有产生错误 将所有代码推送到 GitHub 我尝试在阅读文档上导入和构建项目 但出现以下错误 我在使用 Mac 时没有遇到任何问题 它在阅
  • Android MapView - 自定义缩放按钮

    你知道 是否有办法在 Android 地图视图中制作自定义缩放按钮 或者只有准备好的缩放控件 Thanks Hmyzak 您可以将默认缩放控件设置为 false mapView setBuiltInZoomControls false 添加
  • 从固定的快捷方式 android 中删除应用程序图标

    android 8之后 我的应用程序图标出现在快捷方式上 我知道这是专门添加的 目的是通知用户哪个应用程序创建了快捷方式 这是当前用于创建图标的代码 ShortcutManager shortcutManager ShortcutManag
  • R - 将向量中的每个元素与其他向量中的每个元素求和

    我有两个向量 我想要一个新向量 其元素是向量 1 的元素与向量 2 的元素之和 v1 lt c 1 2 3 4 5 6 v2 lt c 0 1 1 2 2 1 for i in 1 length v1 for j in 1 length v
  • 使用反射获取方法的调用层次结构

    我使用 java 反射从类中获取方法 加载这些类 现在我想获取这些方法的调用层次结构 我如何在 Eclipse IDE 中使用调用层次结构选项 有任何示例或链接吗 提出的解决方案是使用Thread currentThread getStac
  • Scala 构造函数重载?

    如何在 Scala 中提供重载构造函数 值得明确提及的是 Scala 中的辅助构造函数必须调用主构造函数 如 landon9720 中的 答案 或者调用同一类中的另一个辅助构造函数 作为其第一个操作 它们不能像在 Java 中那样简单地显式
  • 如何为通用Windows平台(UWP)应用程序创建.appx包?

    我已经为我的通用 Windows 平台应用程序创建了包 但是我无法找到为我的包生成 appx 文件的位置 它已生成 appxbundle 文件和所有其他文件 但未生成 appx 文件 An appx只是一个 zip64 文件 以及 appx
  • 如何使用 preg_match 检查全文

    您好 我对 preg match 函数有疑问 我想根据模式检查整个文本 如果整个文本与模式匹配 则返回 true 如果与模式不匹配或部分匹配 则返回 false 但我无法使用 php preg match 函数执行此操作 例如 我使用下面的
  • 更改

    我刚刚学习 JQUERY 我一直在玩delay 我写了一个小提琴来向你展示 我想做的是当单击按钮时 更改 div 的背景颜色 然后在过一会儿再次切换背景颜色 但是当我尝试时 它只是切换到第二种颜色并跳过第一种颜色 HTML div clas
  • 在列表中找到所有可能的对的最快方法是什么?

    基本上我有球员名单 我想将他们配对 以便每个球员都会与所有人比赛一次 找到这些数据的最快方法是什么 假设球员没有出现在名单中两次 则双倍for循环非常快 for int i 0 i lt playerList Count 2 i for i
  • 需要帮助在 Java 中将数字转换为单词

    我正在开发一个将数字转换为单词的程序 但我在使用 Numbers 类中的 toString 方法时遇到问题 所有的方法都给了我 我可以实现 因此 我无法删除其中任何一个 编号 4564 gt 四千五百六十四 这是代码 数字类 package
  • codeigniter 本地主机电子邮件未发送

    我有一些问题 我不明白 这是我的代码 this gt load gt library email config protocol sendmail config mailpath usr sbin sendmail config chars
  • 我可以在 .gitconfig 中为自己指定多个用户吗?

    In my gitconfig 我在下面列出了我的个人电子邮件地址 user 因为这就是我想用于 Github 存储库的内容 但是 我最近也开始使用 git 来工作 我公司的 git 存储库允许我提交 但是当它发出新变更集的公告时 它说它们
  • 将 MySQL 表 varchar 字段更改为十进制字段

    我有一个 MySQL 表 其中有几列 例如 id text 1 val 1 text 2 text 3 val 2 1 bla 1 23 blub 5 67 12 34 不幸的是所有字段都定义为varchar 现在我尝试更改表以将某些字段设