sql >> データベース >  >> RDS >> Sqlserver

データベースに保存されているデフォルトの日付形式を変更する

    それが混乱の核心です。 SQL Server Management Studio が表示するという理由だけで その形式の日時列は、それが AS TEXT YYYY-MM-DD hh:mm:ss.zzz として格納されることを意味しません。 0000101000001010..のようなバイナリとして保存されます。

    日付は、1900-01-01 からのオフセットである数値を構成する一連のバイト (実際にはビット) として SQL Server に格納されます。日付に固有の形式はありません。あなたが言及しているのは、SSMS がデフォルトで [display] datetime カラムを YYYY-MM-DD hh:mm:ss.zzz として表示するということです。フロントエンド プログラミング ツールを使用する場合、別のフォーマットを要求しない限り、それもデフォルトの [表示] フォーマットを強制する可能性があります。

    オプションまたは構成を使用して、SSMS に日時データを別の形式で表示させる方法は絶対にありません。必要に応じて、SQL クエリを更新して、datetime 列を特定の形式の TEXTual に相当するものを含む VARCHAR 列に変換する必要があります。これは SSMS では役立つかもしれませんが、フロントエンド GUI/Web アプリへのデータ ソースとして使用する場合は不適切です。値は日時ではなく、間隔の計算、グラフ化、日付コントロールへのバインドなどには使用できないためです。

    非常に珍しい形式である YYYY-DD-MM として時刻 (getdate()) を表示するこの例を参照してください。日付フィールド/変数を 2 回使用する必要があることに注意してください:

    select stuff(convert(char(7), getdate(), 120), 5, 0, '-' + convert(char(2), getdate(), 3))
    


    1. mysqlフィールドが完了した場合にリダイレクトするPHPコード

    2. 距離を計算するためにPostgisでPostgreSQLを設定する方法

    3. MySQLでの結合挿入/更新は不可分操作ですか?

    4. 予期しない結果を与えるワイルドカートを含むMysqlのような