【问题标题】:Convert Datetime/Date to NVarchar Format in SQL在 SQL 中将日期时间/日期转换为 NVarchar 格式
【发布时间】:2017-07-15 07:21:53
【问题描述】:

我创建了几个表格,格式为日期时间或日期。但是我需要将它们更改为 nvarchar。我看到它的方式是我需要删除所有表,修改数据类型并重新创建它。 有没有办法可以自动更改数据类型?

【问题讨论】:

  • 为什么?您不想再存储日期了吗?如果列包含日期,请保留日期数据类型。如果该列存储日期以外的任何内容,那么您的模型是否正确?
  • 糟糕、糟糕的想法,违反所有逻辑。将它们保留为 DATETIME 并使用格式或转换函数以根据需要显示它。每次您需要执行任何 ORDER BY 或 DATE 或 TIME 函数时,将数据类型更改为 varchar 将迫使您将其转换回 DATETIME。免得自己头疼

标签: sql-server tsql date datetime nvarchar


【解决方案1】:

代替getdate,请放置您的专栏并尝试

   SELECT CONVERT(nvarchar(10), getdate(), 103)

【讨论】:

    【解决方案2】:

    如果这些列被意外设置为DATETIME 列并且您想更改它们的类型,那没问题:

    ALTER TABLE myTable ALTER COLUMN myColumn NVARCHAR(55);
    

    但正如其他人所说,如果表已经有数据,并且这些列旨在实际保存 DATE 值,那么您应该认真重新考虑这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-27
      • 1970-01-01
      • 2012-04-29
      • 2015-09-23
      • 2012-11-26
      • 2021-01-17
      • 1970-01-01
      • 2014-11-19
      相关资源
      最近更新 更多