sql - 如何将 Char(16) 列转换为 Date Datatype 列?
问题描述
我将一个 CSV 文件(200 万条记录)导入 derby 数据库,但总是难以将包含以下内容的列导入:“2002-09-06 00:00”作为 TIMESTAMP 数据类型。因此,我将数据库列更改为 Char(16) 而不是 TIMESTAMP,并且能够导入文件而不会出现错误。
现在我想将具有 200 万条记录的 Char(16) 列转换为 DATE 数据类型列,或者将其复制并转换为具有 DATE 数据类型的新列。或者你能想出的任何其他解决方案!
我在想这样的事情
CONVERT(DATE, 101)
但我不知道如何将它与已经存在的列连接起来。我真的很讨厌 SQL。
帮助将不胜感激!
非常感谢!
解决方案
SQL Server 非常适合转换日期/时间。所以你可以使用:
convert(datetime, '2002-09-06 00:00')
或者更好:
try_convert(datetime, col)
我建议将数据加载到临时表中。然后将其在数据库中转换为您想要的结构。这样,您可以调查任何转换问题(或其他转换问题),因为您已加载数据。
推荐阅读
- python - 为什么当我将 .py 文件转换为基于 .exe 终端的程序时,for 循环中的打印在循环结束之前不会打印?
- arrays - 通过另一个不同大小的数组分配二维数组的子集
- mysql - SQL语句练习语句答案验证?
- python - 标记列表
- android - 错误:无法解决:androidx.appcompat:design:1.0.2
- java - 由'B定义
扩展 A ', 一类 变量似乎是逆变的 - python-3.x - 有什么方法可以让我在 pandas python 中进行 vlookup
- javascript - 节点红色服务器上的 Javascript
- ibm-blockchain - IBM区块链平台——“导入智能合约包失败:来源和目的地不能相同。”
- angular - 使用组件中的@Input 指令打开模态后获取对象