2017-02-24 255 views
0

我创建了多个表格,格式为日期时间或日期。不过,我需要将它们更改为nvarchar。我看到它的方式是我需要删除所有表,修改数据类型并重新创建它。 有没有一种方法可以自动更改数据类型?将日期时间/日期转换为SQL中的NVarchar格式

+5

为什么?你不想再存储日期吗?如果该列包含日期,请保留日期数据类型。如果该列存储除日期以外的任何内容,那么您的模型是否正确? – HoneyBadger

+2

可怕的,可怕的想法,并反对所有的逻辑。将它们保持为DATETIME,然后使用格式或转换函数来显示它,但是您需要。每次需要执行任何ORDER BY或DATE或TIME函数时,将数据类型更改为varchar将强制您将其转换回DATETIME。节省自己的头痛 – scsimon

回答

0

代替GETDATE的,请把你的塔,并尝试

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

如果列被意外设置为DATETIME列,你想改变自己的类型,那也没问题:

ALTER TABLE myTable ALTER COLUMN myColumn NVARCHAR(55); 

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

相关问题