ホームページ > データベース > mysql チュートリアル > SQL Server で DateTime を「DDMMM」および「HHMMT」にカスタムフォーマットするにはどうすればよいですか?

SQL Server で DateTime を「DDMMM」および「HHMMT」にカスタムフォーマットするにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-01 14:58:11
オリジナル
881 人が閲覧しました

How to Custom Format DateTime in SQL Server to 'DDMMM' and 'HHMMT'?

SQL Server でのカスタム日付/時刻書式設定

目的: Datetime フィールドを 2 つの追加列に書式設定します。 DDMMM' および 'HHMMT' (「T」は午前の「A」と「P」を表します)午後用).

シナリオ: 'YYYY-MM-DD HH:MM:SS.S' 形式の Datetime フィールドを指定すると、必要な出力は次のようになります:

  • 「DDMMM」の「12OCT」 'HHMMT' 列の
  • '0119P' 列

解決策:

ストアド プロシージャを使用する代わりに、関数の使用を検討してください。をカプセル化するロジック。

DECLARE @myTime AS DATETIME;

SET @myTime = GETDATE();

SELECT @myTime AS OriginalTime;

SELECT DATENAME(DAY, @myTime) + SUBSTRING(UPPER(DATENAME(MONTH, @myTime)), 0, 4) AS 'DDMMM';
ログイン後にコピー

出力:

OriginalTime          DDMMM
---------------------- --------------------
2023-03-08 13:19:12.0 08MAR
ログイン後にコピー

注:

  • 引用符内で文字列の組み合わせを使用してください('') は複数の文字列を連結します。 result.
  • パフォーマンスに影響を与える可能性があるため、Datetime データ型での文字/文字列操作は避けてください。

追加のヒント:

参考になる日付さまざまなシナリオに対応した変換関数:

-- Getting Parts of a DateTime
SELECT FLOOR(CAST(GETDATE() AS FLOAT)) AS DateOnly, GETDATE() - FLOOR(CAST(GETDATE() AS FLOAT)) AS TimeOnly;

-- Relative Dates
SELECT GETDATE() AS CurrentTime, DATEADD(dd, 1, GETDATE()) AS Tomorrow;
SELECT GETDATE() AS CurrentTime, DATEADD(hh, 1, GETDATE()) AS InOneHour;

-- Yearly
SELECT DATEADD(yy, -1, GETDATE()) AS LastYear, DATEADD(yy, 1, GETDATE()) AS NextYear;
SELECT DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0) AS CurrentYearStart, DATEADD(ms, -4, DATEADD(dd, DATEDIFF(dd, 0, GETDATE()) + 1, 0)) AS CurrentYearEnd;
ログイン後にコピー

以上がSQL Server で DateTime を「DDMMM」および「HHMMT」にカスタムフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート