如何在表格中插入特定日期格式?(How can I insert specific date formats into a table?)

编程入门 行业动态 更新时间:2024-10-23 04:42:45
如何在表格中插入特定日期格式?(How can I insert specific date formats into a table?)

我在表中有一些varchar(8)字符串,看起来像这样。 20180630 20180331 20180630

如果我选择所有,像这样,他们看起来很好。

Select Left(StartDate,4)+'-' + Substring(StartDate,5,2)+ '-'+Right(StartDate,2), Left(Expiry_Date,4)+'-' + Substring(Expiry_Date,5,2)+ '-'+Right(Expiry_Date,2) From MyTable

问题是我试图将记录从一个表插入到另一个表中,就像这样。

Insert Into TBL_TRANS_FINAL(CURRENCY, AMOUNT, Left(StartDate,4)+'-' + Substring(StartDate,5,2)+ '-'+Right(StartDate,2) as StartDate, EFFECTIVESTARTDATE, Left(Expiry_Date,4)+'-' + Substring(Expiry_Date,5,2)+ '-'+Right(Expiry_Date,2) as Expiry_Date) ... select * from TMP3 where IS_SPECIAL_DATE <> 'N' and AsofDate <> '' ;

我一直收到错误: Incorrect syntax near the keyword 'Left'.

我认为这应该很简单。 我在这里想念的是什么?

I have some varchar(8) strings in a table that look like this. 20180630 20180331 20180630

If I select all, like this, they look fine.

Select Left(StartDate,4)+'-' + Substring(StartDate,5,2)+ '-'+Right(StartDate,2), Left(Expiry_Date,4)+'-' + Substring(Expiry_Date,5,2)+ '-'+Right(Expiry_Date,2) From MyTable

The problem is that I am trying to insert records form one table into another, like this.

Insert Into TBL_TRANS_FINAL(CURRENCY, AMOUNT, Left(StartDate,4)+'-' + Substring(StartDate,5,2)+ '-'+Right(StartDate,2) as StartDate, EFFECTIVESTARTDATE, Left(Expiry_Date,4)+'-' + Substring(Expiry_Date,5,2)+ '-'+Right(Expiry_Date,2) as Expiry_Date) ... select * from TMP3 where IS_SPECIAL_DATE <> 'N' and AsofDate <> '' ;

I keep getting an error about: Incorrect syntax near the keyword 'Left'.

This should be pretty simple, I think. What am I missing here?

最满意答案

您需要使用INSERT INTO tab(col_names) SELECT ... FROM ...语法:

Insert Into TBL_TRANS_FINAL( col_name1, --... col_name5 ) select CURRENCY, AMOUNT, CAST(StartDate AS DATE), EFFECTIVESTARTDATE, CAST(Expiry_Date AS DATE) from TMP3 where IS_SPECIAL_DATE <> 'N' and AsofDate <> '';

我还会将日期存储为DATE类型。

'YYYYMMDD' date literal: Left(StartDate,4)+'-' + Substring(StartDate,5,2)+ '-'+Right(StartDate,2) <=> CAST(StartDate AS DATE)

You need to use INSERT INTO tab(col_names) SELECT ... FROM ... syntax:

Insert Into TBL_TRANS_FINAL( col_name1, --... col_name5 ) select CURRENCY, AMOUNT, CAST(StartDate AS DATE), EFFECTIVESTARTDATE, CAST(Expiry_Date AS DATE) from TMP3 where IS_SPECIAL_DATE <> 'N' and AsofDate <> '';

I would also store date as DATE type.

'YYYYMMDD' date literal: Left(StartDate,4)+'-' + Substring(StartDate,5,2)+ '-'+Right(StartDate,2) <=> CAST(StartDate AS DATE)

更多推荐

本文发布于:2023-08-02 19:30:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1379565.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:表格   日期   格式   如何在   insert

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!