ホームページ >データベース >mysql チュートリアル >SQL Server で日付と時刻をカスタム形式にして DDMMM と HHMMT を表示するにはどうすればよいですか?

SQL Server で日付と時刻をカスタム形式にして DDMMM と HHMMT を表示するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-29 20:26:16171ブラウズ

How Can I Custom Format Date and Time in SQL Server to Display DDMMM and HHMMT?

SQL Server での日付と時刻のカスタム形式

SQL Server での日付と時刻の表示形式のカスタマイズは、データを使いやすい方法で表示するために不可欠です。この記事では、元の質問で説明したように、日付と時刻を特定の形式でフォーマットするという課題に対する包括的な解決策を提供します。

問題の説明:

タスクここでは、既存のテーブルの Datetime フィールドから 2 つの追加の列を抽出する必要があります。これらの列は次のようにフォーマットする必要があります:

  1. DDMMM: 日と月を短縮表記で表します (例: 10 月 12 日の場合は「12OCT」)。
  2. HHMMT: AM/PM を含む時間を時と分で表示しますインジケーター、たとえば、午後 1 時 19 分を表す「0119P」。

関数を使用した解決策:

ストアド プロシージャを使用する代わりに、次を使用することをお勧めします。この日付フォーマットのロジックをラップする関数。コードは次のとおりです。

CREATE FUNCTION [dbo].[CustomDateFormat](
    @DateTime DATETIME
)
RETURNS VARCHAR(10)
AS
BEGIN
    DECLARE @Day VARCHAR(2) = SUBSTRING(DATENAME(DAY, @DateTime), 1, 2)
    DECLARE @Month VARCHAR(3) = SUBSTRING(UPPER(DATENAME(MONTH, @DateTime)), 1, 3)
    
    RETURN @Day + @Month
END

この関数は、入力日時値の日 ('DD') と月 ('MMM') の部分を抽出し、それらを連結して返します。

動的 SQL でのデータへのアクセス:

関数を使用してデータにアクセスするには、動的 SQL を作成します。 query:

DECLARE @SQLCommand VARCHAR(MAX) = '
    SELECT
        ...,
        dbo.CustomDateFormat(DateTimeField) AS DDMMM,
        ...
' 
EXEC (@SQLCommand)

最適化のヒント:

データ型変換によるパフォーマンスの低下を避けるために、日付に対して文字/文字列操作を使用することは可能な限り避けてください。 MSSQL の日付は浮動小数点数として表され、文字列との変換によりパフォーマンスが低下する可能性があります。

追加リソース:

詳細については、以下を参照してください。 SQL Server で日付と時刻を操作するための追加のヘルパー関数:

  • オブジェクトの一部の取得DateTime
  • 相対日付

以上がSQL Server で日付と時刻をカスタム形式にして DDMMM と HHMMT を表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。