Sql 如何将yymmdd转换为dd/mm/yy格式?

Sql 如何将yymmdd转换为dd/mm/yy格式?,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我使用的是SQL Server 2008,列MyDate包含日期20141208。它的类型是用户定义的(UTypeDate:varchar(8)),我想将其转换为08/12/2014 例如,给定 MyDate (UTypeDate:varchar(8)) 20141208 20141218 20141204 20141216 我想写的是将给我输出的查询: MyNewDate 08/12/2014 18/12/2014 04/12/2014 16/12/2014 我应该如何为此编写查询?试试这

我使用的是SQL Server 2008,列
MyDate
包含日期
20141208
。它的类型是用户定义的(UTypeDate:varchar(8)),我想将其转换为
08/12/2014

例如,给定

MyDate (UTypeDate:varchar(8))
20141208
20141218
20141204
20141216
我想写的是将给我输出的查询:

MyNewDate
08/12/2014
18/12/2014
04/12/2014
16/12/2014
我应该如何为此编写查询?

试试这个

SELECT CONVERT(VARCHAR(10), CAST('20141208 ' AS DATE), 103)
结果

我想你需要在你想要的格式上增加一个专栏。然后使用以下查询

SELECT VARCHARDATE,
CONVERT(VARCHAR(10), CAST(VARCHARDATE AS DATE), 103) NEWDATE
FROM YourTable
这形成了下面的结果

您可以根据需要应用逻辑con
NEWDATE

有什么变化请告诉我

检查sqlfIDDLE(当站点未正确加载时,单击RUNSQL按钮)

尝试此操作

SELECT CONVERT(VARCHAR(10), CAST(MyDate AS DATE), 103) FROM TableName
用于可视prrof

表格设计

资料

结果


到目前为止,您尝试过什么吗?是的,我尝试过转换(nvarchar(50),MyDate,105),但没有working@user3705817:请参阅是否需要结果中格式为2014年12月8日的(UTypeDate:varchar(8))列的副本@USER3705817此功能按原样工作,但在20141208,我想传递包含所有日期的列名。我想将所有列行的格式设置为2014年12月8日此格式。您可以提供更多详细信息,以便您能够获得更多您期望的答案@USER3705817这给了我以下错误(从字符串转换日期和/或时间时转换失败。)但我认为当我持续执行它时转换会起作用。这会显示结果,但下一秒它会显示错误show you query@User3705817选择批次日期,转换(VARCHAR(8),CAST(批次日期为日期),103)来自MSTGETLOTyup bdy sry的NEWDATE…我的数据库中有垃圾数据…谢谢