首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将YYYY-MM-DD转换为MM/DD/YYYY

将YYYY-MM-DD转换为MM/DD/YYYY
EN

Stack Overflow用户
提问于 2018-03-09 02:37:22
回答 2查看 14.4K关注 0票数 0

我用YYYY-MM-DD在我的附加信息表中有这个道布列。我需要将比如说道布: 1949-06-15转换成道布的格式: MM/DD/YYYY。

我有过

代码语言:javascript
复制
SELECT CONVERT(VARCHAR(10), ai.ADDLINFO_INDEX_21, 101) as 'DOB'

但是我还是得到了这个结果:1949-06-15

我甚至试过

代码语言:javascript
复制
REPLACE(CONVERT(VARCHAR, ai.ADDLINFO_INDEX_21, 101), '-', '/')

但是,结果是1949/06/15

我正在寻找06/15/1949作为输出。有人能帮帮忙吗?

EN

回答 2

Stack Overflow用户

发布于 2018-03-09 03:21:32

从注释中可以看出,您正在保存与日期等效的字符串。您可以将字符串转换为date数据类型,然后使用convert函数进行格式输出。例如:

代码语言:javascript
复制
DECLARE @mydate char(10) = '1949-06-15'
SELECT CONVERT(varchar(10), CAST(@mydate as date), 101)

产生:

代码语言:javascript
复制
06/15/1949
票数 3
EN

Stack Overflow用户

发布于 2018-03-09 02:41:43

您需要使用REPLACE和CONVERT函数。请尝试以下操作:

代码语言:javascript
复制
SELECT REPLACE(CONVERT(varchar(10), CONVERT(datetime, '2010-02-11', 120), 101), '/', '-')

编辑:刚刚注意到,您希望在输出中使用/而不是-,如下所示。在这种情况下,请删除replace,如下所示:

代码语言:javascript
复制
SELECT CONVERT(varchar(10), CONVERT(datetime, '2010-02-11', 120), 101)

附注:假设您使用的是Sql Server 2008。

编辑2:由于您是从另一个表的属性接收日期值,因此需要使用如下内容:

代码语言:javascript
复制
SELECT CONVERT(varchar(10), CONVERT(datetime,  ai.ADDLINFO_INDEX_21, 120), 101)
from ai

假设ai是表名。如果不是,请使用带有ai别名的表名,如:

代码语言:javascript
复制
from tablename ai
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49180195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档