如何更改使用 ALTER COLUMN 将日期时间列转换为 varchar 时生成的日期格式?
我有一个日期时间列,需要将其更改为 varchar 列。
使用下面的语句,生成的字符串具有以下格式:“Jan 18 2010 5:28PM”
ALTER TABLE Thinger
ALTER COLUMN LastUpdateDate varchar(16) NOT NULL
我希望生成的字符串具有 yyyyMMdd 格式(给出 20100118)。有办法做到这一点吗?
谢谢
I have a datetime column that I need to alter to be a varchar column.
Using the statement below, the strings produced have this format: "Jan 18 2010 5:28PM"
ALTER TABLE Thinger
ALTER COLUMN LastUpdateDate varchar(16) NOT NULL
I would like strings produced to have a yyyyMMdd format (giving 20100118) instead. Is there a way to do this?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
坏主意...永远不要将日期存储在 varchar 列中,现在你会在其中以不同的格式得到垃圾
当您想要 yyyyMMdd 时,为什么还要使用 varchar(16) 呢?
如果您希望输出采用不同的格式,请在表示层中进行操作,或者
立即使用转换如果您确实想做您所说的事情,请
运行您的脚本,然后再执行
一次。.bad bad bad 想法
另外,SQL Server 的下一个版本将使格式化变得更加容易,请参阅:格式化函数SQL Server Denali CTP3
Bad, Bad idea...never ever store dates in varchar columns, now you will get garbage in there in different formats
Also why varchar(16) when you want yyyyMMdd?
if you want the output to be in a different format do it in the presentation layer or use convert
now if you really want to do what you say you want to do
run your script and then do
But again..bad bad bad idea
Also the next version of SQL Server will make formatting a lot easier see: Format function in SQL Server Denali CTP3
试试这个脚本:
Try this script: