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

特定の日時形式を SQL Server に保存できない

    SQL Server は DateTime を保存しません 任意の文字列形式 - 8 バイトの数値として保存されます。

    さまざまな設定 (言語、日付形式) は、DateTime の方法にのみ影響します。 SQL Server Management Studio に表示されます。または、文字列を DateTime に変換しようとしたときにどのように解析されるか .

    SQL Server では多くの形式がサポートされています。CAST および変換 .これらの形式のほとんどは依存です つまり、これらの設定が機能する場合と機能しない場合があります。

    これを解決するには、ISO-8601 日付形式を使用します SQL Server でサポートされている - この形式は常に機能します - SQL Server の言語と日付形式の設定に関係なく。

    ISO-8601 形式 は SQL Server でサポートされており、次の 2 つの種類があります:

    • YYYYMMDD 日付のみ (時間部分なし) - ここに注意してください:ダッシュなし! 、それは非常に重要です! YYYY-MM-DD ではない SQL Server の dateformat 設定とは無関係であり、しない あらゆる状況で機能します!

    または:

    • YYYY-MM-DDTHH:MM:SS 日付と時刻 - ここに注意してください:この形式は

    これは、SQL Server 2000 以降で有効です。

    SQL Server 2008 と DATE を使用する場合 データ型 (DATE のみ - しない DATETIME !)、実際に YYYY-MM-DD も使用できます 形式であり、SQL Server のどの設定でも機能します。

    なぜこのトピック全体がそれほどトリッキーでややこしいのか、私に聞かないでください。しかし、YYYYMMDD では SQL Server のどのバージョンでも、SQL Server の言語と日付形式の設定でも問題ありません。



    1. PHPを使用してmysqlデータベースに写真を追加する方法は?

    2. SQLステートメントがSELECTという単語で始まるかどうかを判別します

    3. SQL Server(T-SQL)のトリガーから電子メールを送信する

    4. ActiveRecord_Associations_CollectionProxyのRails未定義メソッド