我用YYYY-MM-DD在我的附加信息表中有这个道布列。我需要将比如说道布: 1949-06-15转换成道布的格式: MM/DD/YYYY。
我有过
SELECT CONVERT(VARCHAR(10), ai.ADDLINFO_INDEX_21, 101) as 'DOB'但是我还是得到了这个结果:1949-06-15。
我甚至试过
REPLACE(CONVERT(VARCHAR, ai.ADDLINFO_INDEX_21, 101), '-', '/')但是,结果是1949/06/15。
我正在寻找06/15/1949作为输出。有人能帮帮忙吗?
发布于 2018-03-09 03:21:32
从注释中可以看出,您正在保存与日期等效的字符串。您可以将字符串转换为date数据类型,然后使用convert函数进行格式输出。例如:
DECLARE @mydate char(10) = '1949-06-15'
SELECT CONVERT(varchar(10), CAST(@mydate as date), 101)产生:
06/15/1949发布于 2018-03-09 02:41:43
您需要使用REPLACE和CONVERT函数。请尝试以下操作:
SELECT REPLACE(CONVERT(varchar(10), CONVERT(datetime, '2010-02-11', 120), 101), '/', '-')编辑:刚刚注意到,您希望在输出中使用/而不是-,如下所示。在这种情况下,请删除replace,如下所示:
SELECT CONVERT(varchar(10), CONVERT(datetime, '2010-02-11', 120), 101)附注:假设您使用的是Sql Server 2008。
编辑2:由于您是从另一个表的属性接收日期值,因此需要使用如下内容:
SELECT CONVERT(varchar(10), CONVERT(datetime, ai.ADDLINFO_INDEX_21, 120), 101)
from ai假设ai是表名。如果不是,请使用带有ai别名的表名,如:
from tablename aihttps://stackoverflow.com/questions/49180195
复制相似问题