我在数据库中将以下日期20180305存储为varchar(8)。
我想将日期格式切换为DDMMYYYY
我可以看到使用子字符串拆分了元素-如下所示
Substring ([Transaction Date],7,2) [Accounting Period] ,
Substring ([Transaction Date],5,2) [Accounting Period],
Substring ([Transaction Date],1,4) [Accounting Period]
但是如何将它们与CONCAT结合?
谢谢
答案 0 :(得分:2)
不!更改数据结构:
alter table t alter column [Transaction Date] date;
您很幸运。您的格式将正确转换。
然后,如果需要特定格式,请使用计算列:
alter table t add column transaction_date_mmddyyyy as
(replace(convert(varchar(10), [Transaction Date], 105), '-', '') )
然后,您可以使用日期-作为日期,以正确的方式存储它。您还可以获取所需的演示文稿格式。
答案 1 :(得分:0)
似乎您正在使用SQL Server,如果可以,则可以使用:
SELECT REPLACE(CONVERT(VARCHAR(10), CAST('20180305' AS date), 105), '-','') AS [Accounting Period]
FROM table t;