1. 問題の説明
プロジェクトは実行するためにサーバーにデプロイされますが、SQL エラー レポートはformat
サポートされていません。
2. 質問お問い合わせ
開発中に使用されるデータベースは 2012 バージョンであり、プロジェクトによってデプロイされるサーバーは 2008 バージョンを使用します。オンラインで確認したところ、 2012 バージョンでのみサポートされていたformat
機能は、CONVERT
2008 の機能を使用しないと解決できません。
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)