Sql 如何将DateTime转换为VarChar(50)?

Sql 如何将DateTime转换为VarChar(50)?,sql,sql-server,sql-server-2005,converter,Sql,Sql Server,Sql Server 2005,Converter,我需要将DateTime值转换为'dd-mm-yyyy-hh:mm:ss-tt'格式的Varchar值 请解决。 日期时间格式:2013-12-13 23:10:56.000 Varchar格式:26/10/2013 08:36:44 PM如果您只需要该输出,谷歌搜索“sql server日期时间格式”将显示。如果要更改列本身,有两个选项: 直接更改它,然后更新它并在以后修复格式。 或 添加类型为varchar(20)的新列。从旧DATETIME列中移动数据,删除旧列。如果需要,重命名新列 尝试

我需要将DateTime值转换为'dd-mm-yyyy-hh:mm:ss-tt'格式的Varchar值

请解决。 日期时间格式:2013-12-13 23:10:56.000
Varchar格式:26/10/2013 08:36:44 PM

如果您只需要该输出,谷歌搜索“sql server日期时间格式”将显示。如果要更改列本身,有两个选项:

  • 直接更改它,然后更新它并在以后修复格式。 或
  • 添加类型为
    varchar(20)
    的新列。从旧DATETIME列中移动数据,删除旧列。如果需要,重命名新列
  • 尝试:

    转换(VARCHAR(50),GETDATE(),130)


    您想更改列的数据类型,还是只想以首选格式显示日期时间。?如果该列用于存储日期和时间值,请将其保留为
    日期时间。不要让格式问题改变您存储数据的方式。当您将数据呈现给用户时,请按要求进行格式化。@user3244104我怀疑您不想转换列,如果它是日期,那么应该是日期列(我花了很多时间处理varchar列中的日期,这并不有趣,并且会导致许多错误),我只想指出,你帖子下面的评论绝对正确。通常,数据库应该以预期的(即DATETIME)格式存储纯数据。让用户界面,代码等,或只是您的选择,以担心正确的格式。原因有很多,从索引和性能到过滤器,从函数使用到数据完整性。