形式は SqlServer2008 のソリューションをサポートしていません

1. 問題の説明

プロジェクトは実行するためにサーバーにデプロイされますが、SQL エラー レポートはformatサポートされていません。

2. 質問お問い合わせ

開発中に使用されるデータベースは 2012 バージョンであり、プロジェクトによってデプロイされるサーバーは 2008 バージョンを使用します。オンラインで確認したところ、 2012 バージョンでのみサポートされていたformat機能は、CONVERT2008 の機能を使用しないと解決できません。

3. 解決策のアイデア

プロジェクト SQL では、format(日期,"MM-dd“)時刻は 2008 バージョンで変更された月-日形式にフォーマットされており、これはSUBSTRING(CONVERT(VARCHAR(20),日期,23),6,5)日付CONVERT(VARCHAR(20),日期,23)が数値 23 のスタイルにフォーマットされ、23 のスタイルが yyyy-mm-dd であることを意味します。その他の番号については、公式ドキュメント (ポータル) を参照してください。
次に、SUBSTRING 関数を使用して、必要な mm-dd 部分をインターセプトします。

参照SQL:

select
 SUBSTRING(CONVERT(VARCHAR(20),login_time,23),6,5) login_time
from sys_logininfor 
where login_time>dateadd(day, -30, GETDATE()) 
GROUP BY SUBSTRING(CONVERT(VARCHAR(20),login_time,23),6,5)  
order by SUBSTRING(CONVERT(VARCHAR(20),login_time,23),6,5) 

おすすめ

転載: blog.csdn.net/weixin_44223509/article/details/132534615