我有一个下面的数据集。
Create table #table
(
id int,
filedate int,
filedate_time datetime2
)
Insert into #table
select 1,20190801,'8/1/2019 1:33:25 PM'
union
select 2,20190802,'8/2/2019 2:40:25 PM'
union
select 3,20190803,'8/3/2019 1:33:25 PM'
select
cast(filedate_time as time) as time_only,
cast(filedate as varchar(8)) as filedate,
concat(cast(filedate as varchar(8)), ' ', cast(filedate_time as time)) as concatfield
from
#table
我想将filedate_time中的时间与filedate中的日期连接起来,并将其格式化为yyyyMMdd-hh:mm:ss.fff。
我不能使用FORMAT函数,因为它说第一个参数不应为varchar。我无法将concat字段转换为datetime2。它给我错误,说不能将字符串转换为日期时间。我无法更改源数据类型。
有人可以帮助我获得正确的格式吗?
我希望concatfield为“ 20190805-3:50:55 PM”
答案 0 :(得分:0)
正如@Larnu所说,您“应将格式留给表示层”,并将基本数据保留在数据库中。但是,如果由于某些原因您真的必须这样做,请尝试:
var errors = CodeMirror.lint.css(cm, options);