修改包含数据的列类型,而不删除数据

2024-03-19

我有一个专栏,我认为该专栏的声明是错误的。它包含数据,我不希望丢失数据。

我希望将定义从 varchar(max) 更改为 varchar(整数)。我的印象是我不能只改变列类型?

最好的方法是创建临时列“column2”,将数据从有问题类型的列传输到此列,删除有问题的列,然后将临时列重命名为原始有问题的列?

如果是这样,如何将问题列中的值复制到新列?

编辑:对于任何有同样问题的人,你can只需使用 ALTER 语句即可。


只要数据类型有些“相关” - 是的,您绝对可以做到这一点。

您可以更改INT to a BIGINT- 第二种类型的值范围更大,因此您不会面临“丢失”任何数据的危险。

您可以更改一个VARCHAR(50) to a VARCHAR(200)- 再次,类型兼容,大小越来越大 - 没有截断任何内容的风险。

基本上,你只需要

ALTER TABLE dbo.YourTable
ALTER COLUMN YourColumn VARCHAR(200) NULL

管他呢。只要您的字符串不超过 200 个字符,就可以了。不确定如果您确实有更长的字符串会发生什么 - 要么转换会失败并出现错误,要么它会继续告诉您某些数据可能已被截断。所以我建议你先尝试一下copy您的数据:-)

如果你需要改变一个,它会变得有点棘手VARCHAR to an INT或类似的东西 - 显然,如果您的列值不“适合”新类型,则转换将会失败。但即使使用单独的“临时”新列也无法解决此问题 - 您需要以某种方式处理那些“不兼容”的情况(忽略它们,将 NULL 保留在那里,将它们设置为默认值 - 某些东西)。

此外,还可以在VARCHAR and NVARCHAR如果你有例如非西欧字符 - 转换时您可能会丢失某些条目,因为它们无法以其他格式表示,或者从一种类型到另一种类型的“默认”转换无法按预期工作。

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

修改包含数据的列类型,而不删除数据 的相关文章

  • 无法访问 Big Query 中类型为 ARRAY> 的字段

    我正在尝试在 BigQuery 上使用标准 SQL 方言 即不是旧版 SQL 运行查询 我的查询是 SELECT date hits referer FROM refresh ga sessions xxxxxx LIMIT 1000 但不
  • 从完整路径解析文件名和路径

    我需要使用 SQL 查询从完整路径解析文件名和文件路径 例如 完整路径 SERVER D EXPORTFILES EXPORT001 csv FileName Path EXPORT001 csv SERVER D EXPORTFILES
  • EF6 不从数据库生成外键关联

    PROBLEM 我正在尝试使用数据库优先方法创建 EF6 模型 简单来说 我有2张桌子tblUser and tblMilkMan上有外键关系UserID柱子 但是当我创建一个新的 EDMX 图并添加 2 个表时 我看不到其中的关系 未创建
  • SQL Server 端口 445 和 1433

    SQL Server 端口 445 和 1433 之间有什么区别以及每个端口的用途是什么 445不是SQL端口 是SMB端口 仅当您使用命名管道协议时 它才会参与 SQL Server 因为命名管道通过 SMB 进行传输 而这反过来又使用
  • MySQL,连接两列

    MySQL 表中有两列 SUBJECT and YEAR 我想生成一个字母数字唯一编号 其中包含主题和年份的串联数据 我怎样才能做到这一点 是否可以使用像这样的简单运算符 您可以使用CONCAT http dev mysql com doc
  • pyspark.sql.functions.window 函数的“startTime”参数和 window.start 有何作用?

    示例如下 df spark createDataFrame 1 2017 05 15 23 12 26 2 5 1 2017 05 09 15 26 58 3 5 1 2017 05 18 15 26 58 3 6 2 2017 05 15
  • 从 SQL 数据库获取日期时间

    我的数据库表中有一个 DateTime 记录 我编写一个查询从数据库中获取它 string command2 select Last Modified from Company Data where Company Name Descrip
  • 在内连接中重用 mysql 子查询

    我正在尝试优化查询 试图避免重复用 指示的查询 复杂查询 使用两次 结果相同 原始查询 SELECT news FROM news INNER JOIN SELECT myposter FROM SELECT COMPLEX QUERY U
  • PostgreSQL 窗口函数:row_number() over(按 col2 分区 col 顺序)

    以下结果集源自具有一些连接和联合的 SQL 查询 SQL 查询已经对 Date 和 game 上的行进行了分组 我需要一列来描述按日期列分区的游戏的尝试次数 Username Game ID Date johndoe1 Game 1 100
  • 重新启动后无法远程或本地连接到 SQL Server

    上周末进行一些网络维护后 我们的开发服务器出现了一些问题 导致我们重新启动它 重新启动期间安装了一些更新 这可能是也可能不是一个因素 从那时起 我们就无法连接到 SQL Server 2005 即使是通过 Management Studio
  • 火鸟删除速度很慢

    我正在做这个简单的交易 DELETE FROM ominve01 WHERE CVE OBS IN SELECT CVE OBS FROM minve01 M WHERE M FECHA DOCU lt 31 12 2010 OR FECH
  • IN 运算符对 SQL 查询性能的影响有多大?

    我的 SQL 查询需要 9 个小时才能执行 见下文 Select Field1 Field2 From A Where Field3 IN 45 unique values here 当我将此查询拆分为 3 个完全相同的查询 仅每个 IN
  • 在 Oracle 中使用数据透视表的建议

    我需要一份报告 我应该使用数据透视表 报告将按类别分组 使用 case when 语句不好 因为有很多类别 您可以将 Northwind 数据库视为示例 所有类别将显示为列和报告将显示客户在类别中的偏好 我不知道另一个解决方案 并在互联网上
  • 如何删除MySQL中的所有事件

    如果我想删除某个事件 我需要查询类似的内容 DROP EVENT IF EXISTS eventname 但我找不到一次性删除所有事件的命令 必须一项一项地删除 有没有一次性删除所有事件的SQL DROP EVENT IF EXISTS S
  • 在 SQL Management Studio 2012 中调试

    我正在使用 Management Studio 2012 但无法调试任何 SQL 代码 在我点击 调试 按钮后 左侧没有看到任何绿色箭头 并且我的 SQL 对象都没有加载到内存中 当我将光标移到我设置的断点上时 我收到此消息 The bre
  • INTEGER 到 DATETIME 的转换与 VB6 不同

    我正在查看一些遗留的 VB6 代码 比我的时代早很多年 它对 SQL 2005 数据库运行查询 它提供了日期限制WHERE子句 其中日期作为整数值给出CLng VB6 中的日期 e g WHERE SomeDateField gt 4006
  • LEFT JOIN 比 INNER JOIN 快得多

    我有一张桌子 MainTable 有超过 600 000 条记录 它通过第二个表连接到自身 JoinTable 在父 子类型关系中 SELECT Child ID Parent ID FROM MainTable AS Child JOIN
  • 如何安全地使用保留的 SQL 名称?

    我正在使用 Cakephp 3 使用 sqlserver 作为数据源服务器 我确信我的数据库连接没有问题 因为 home ctp 提示我已连接到我的数据库 并且我还使用迁移插件来创建我的表 似乎使用它没有问题这些工具 但是在我烘焙 MVC
  • 索引在 NOT IN 或 <> 子句中起作用吗?

    我读过 至少 Oracle 数据库中的普通索引基本上是 B 树结构 因此存储处理适当根节点的记录 小于 根的记录被迭代地存储在树的左侧部分 而 大于 根的记录被存储在右侧部分 正是这种存储方法有助于通过树遍历实现更快的扫描 因为深度和广度都
  • Postgres 按查询分组

    我正在尝试在 postgres 的查询中使用 group by 我无法让它按照我想要的方式工作 以便根据需要对结果进行分组 这是另一个堆栈问题的扩展我刚刚回答过的递归查询 https stackoverflow com questions

随机推荐

  • Zipline 导入错误。没有名为 zipline.transforms 的模块

    我无法导入 zipline transforms 模块 gt gt gt from zipline transforms import batch transform Traceback most recent call last File
  • Python - 从 Tkinter 回调返回

    如何从作为 Tkinter 回调执行的函数中获取返回的对象 import Tkinter as Tk from functools import partial def square x return x x root Tk Tk var
  • Java中的AtomicLong有什么用?

    有人可以解释一下 AtomicLong 的用途吗 例如 以下陈述有什么区别 private Long transactionId private AtomicLong transactionId 有重要的这两个对象之间的差异 虽然最终结果是
  • 用于创建微服务应用程序的 Maven 原型 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有这样的 Maven Archetype 为微服务应用程序创建多模块 Maven 项目结构 我想要一
  • 了解 typeid().name() 的输出

    我正在检查某些类型的变量并得到一些令人困惑的结果 include
  • 如何保护/监控您的网站免遭恶意用户抓取

    情况 网站内容受用户名 密码保护 并非全部受控 因为他们可以是试用 测试用户 由于用户名 密码限制 普通搜索引擎无法获取它 恶意用户仍然可以登录并将会话 cookie 传递给 wget r 或其他东西 问题是监控此类活动并对其做出响应的最佳
  • HttpURLConnection.getInputStream 非常慢

    与使用相同服务器端服务的 iPhone 应用程序相比 HttpURLConnection getInputStream 需要花费很多时间 以下代码用于该服务 date new java util Date Log d time Time S
  • DSP——获取所有频率的幅度

    这个问题与 DSP 音频处理 squart还是log来利用fft https stackoverflow com questions 20057831 dsp audio processing squart or log to levera
  • 标准程序的用途列表

    我正在搜索 SAP 表的使用 我想知道桌子在哪里S083用于 SAP 标准程序 我已经搜索过 使用地点 列表 但我只得到了自创程序 没有得到SAP标准程序 有人知道如何在 SAP 标准程序中搜索表使用吗 为了能够使用 SAP 标准编码的使用
  • 如何选择列值以特定字符串开头的行?

    如何选择列值以特定字符串开头的行 例如 我想选择 姓名 列以 先生 开头的行 你可以做 select from mytable where name like Mr See http www sqlite org lang expr htm
  • 无法在 Maven 插件上使用注释设置参数

    我正在尝试开发一个 Maven 插件 但当我使用 Parameter 注释时它不起作用 我的依赖项
  • 图像地图区域聚某些坐标 Firefox 不起作用,IE 起作用

    我遇到了图像映射 HTML 问题 没有样式和 js 的工作示例 http www download lagunawebdesign pl bug http www download lagunawebdesign pl bug img sr
  • 如何在spark中配置hbase?

    Spark连接hbase的步骤是什么 我有两者的主地址 我是否只需将 hbase 地址添加到 Spark 类路径中 这篇关于 Spark 与 HBase 连接的文章应该会有所帮助 http www vidyasource com blog
  • 没有唯一标识符的 Bootstrap 崩溃

    我正在尝试以不需要唯一标识符的方式使用引导折叠插件 通常 页面上通常有一个或几个可折叠元素 但我的元素是动态生成的 传递索引键是多余的 现在发生的情况是 如果我将折叠切换为element2 它会崩溃element1 显然是因为他们有相同的I
  • 优先连接Wifi [无互联网]?

    我有个问题 我开发了一个android应用程序 它也应该连接到无线网络 没有互联网 只是为了控制机器人 网页界面 10 10 0 1 我的问题 如果我连接到机器人 wifi Android 会阻止连接并连接到我的默认家庭 WLAN 我可以更
  • 如何在应用程序中禁用 Aero Snap?

    是否可以在 WPF 应用程序中禁用 Windows 7 的自动窗口停靠功能 我最近需要对一个自定义的 可调整大小的ResizeMode CanResizeWithGrip没有窗口装饰的 WPF 窗口 没有标题栏和按钮 我用了DragMove
  • 如何在 iOS 7 应用程序上启用后台更新

    如何让我的应用程序使用 iOS 7 后台更新功能 我注意到一些应用程序已经做到了这一点 但似乎并不是所有应用程序都是自动的 根据iOS 7 的新功能 https developer apple com library ios release
  • 是否可以在 Chrome 检查器中过滤选项请求?

    我正在构建一个使用 CORS 与其服务器进行通信的 Web 应用程序 这意味着每个请求之前都有一个带有 OPTIONS 方法的请求 是否可以在检查器中过滤掉它们 它在网络选项卡上造成了很多不必要的混乱 是的 您可以使用 method OPT
  • 属性错误:“用户”对象没有属性“is_admin”

    我通过扩展 AbstractBaseUser 自定义了用户模型 用户名仅接受电子邮件 ID 这是模型 class User AbstractBaseUser PermissionsMixin email models EmailField
  • 修改包含数据的列类型,而不删除数据

    我有一个专栏 我认为该专栏的声明是错误的 它包含数据 我不希望丢失数据 我希望将定义从 varchar max 更改为 varchar 整数 我的印象是我不能只改变列类型 最好的方法是创建临时列 column2 将数据从有问题类型的列传输到