問題タブ [datetime2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - Ms SQL Server 2008 の 3 つのフィールドから datetime2 を作成する
私は、13,8kを超える行を含む巨大なテーブルをストックしています。そのレイアウトは次のようなものです。
)
日付部分がクリーンアップされた新しいテーブルには、このようなレイアウトと、重要でないその他のフィールドがあります。
次にカーソルを作成し、実行する前にオフにします
カーソルはこのように見えますが、興味深いのは、3 つのフィールドを新しい datetime2 に解析することです。
私は部分的に動作しますが、失敗するエッジケースがいくつかあります。たとえば、dd = 00、mm = 00、yyyy = 0000 の場合です。また、年が設定されていないが月と日が設定されているなどの特殊なケースがたくさんあります私の計画は、年を 0000 に設定することです。また、3 つのフィールドすべてが空の場合もあります。良いアドバイスをくれる人はいますか?
sql-server-2008 - datetime2のisdate()のような関数はありますか?
ISDATE
列を検証するために呼び出される関数があることは知っていますが、それはとタイプDATETIME
に対してのみ機能します。SMALLDATETIME
DATETIME
DATETIME2
SQL Server 2008および2012で新しいデータ型を検証する同様の方法はありますか?
entity-framework - DateTime2 は私を狂わせる
プロジェクト .NET で EF 4 (モデル ファースト) を使用していますが、DateTime
フィールドに問題があります。
この例外を使用するとSaveChanges()
、次の例外がスローされます。
System.Data.SqlClient.SqlException : datetime2 データ型を datetime データ型に変換すると、範囲外の値になりました。
私は使用しようとしました:
しかし、新しいことは何も起こりません。今晩修理しないと、コンピューターを爆発させてしまいます。
助けが必要です。コンピューターを爆発させたくありません =( 1 週間解決しようとしても成功しませんでした
これが私のコードです:
ここにはこのような質問がたくさんありますが、どれも私の問題を解決しません.
TextBox に次のような日付を挿入したい:09/08/2012
sql-server-2008 - EF を使用して行を更新するときの DateTime エラー
データベース内のテーブルから既存の行を取得し、その値を更新してそれらの変更を保存するメソッドがあります。問題のテーブルには、次の列があります。
更新を行うコードは次のとおりです。
問題は、その行DataContext.SaveChanges();
が例外を引き起こし、その innerexception が次のように言うことです:
これは、上記のコードが呼び出される場所です
entity-framework-4 - EntityFramework4.5がSQLServerCE4でdatetime2を使用できるようにする
私はSQLServer2008を使用してEntityFrameworkプロジェクトに取り組んでいます。最近datetime2
、精度が必要なため、多くの日付にフィールドタイプを使用するように変更しました。
これは、ライブデータベースと開発データベースに対しては正常に機能しますが、エンドツーエンドのテストの一環として、このタイプをサポートしていないSQL ServerCE4.0を使用していますdatetime2
。Entity Frameworkがデータベースを構築しようとすると、次のような一連の例外が返されます。
明らかに、テスト目的で本番コードを変更することに価値はありません。したがって、datetime2
値を通常datetime
に変換するか、?に変換するように指示する方法はありvarchar
ますか?
テストの目的は、データレイヤーからインターフェイスまですべてが期待どおりに機能していることを確認することです。したがって、この種のテストを実装するためのより良い方法があれば、有用な代替手段が提供される可能性があります。
sql-server - 特定の範囲のタイムスタンプ間の値を取得する方法
SQL Server 2008 に ,timestamplog which contains one column of name LogTime of type
INTEGER`というテーブルがあります
値は次のようになります。
1350468609
と1350468001
..の間の値が必要です。
これらの値を照会する方法を教えてください。
次のクエリを試しました
でも列が来ない…
実際、テーブル内の値は、テーブルに保存されているタイムスタンプ値ですINTEGER
。TIMELOG
IMP 注: table に 12,13,14 のような値が含まれている場合、上記のクエリが正常に機能しているとします。しかし、長さ10の数を比較しているとき、クエリは値を取得しません
前もって感謝します
sql - opendatasource と datetime2
このトリックを使用して、すべての列を指定せずに Access データを一時テーブルにロードしています (SQL Server 2008)。
これは、Access 日付を datetime フィールドに変換し、1753 年より前の日付を機能させない datetime2 に変換しないことを除けば、ほとんどの場合問題なく機能します。
すべての列を手動で指定することなく、datetime2 の使用を強制するトリックはありますか?
sql-server - SQL Server 2008: datetime2 から日付部分を取得する
datetime
値から日付部分を抽出するこの非常に便利な方法を使用しています。
これは基本的に、日付の時刻部分をゼロにします。高速であり、さらに重要なのは決定論的です。この式は、永続化された計算列、インデックス付きビューなどで使用できます。
しかし、私はそのタイプで動作するものを考え出すのに苦労していdatetime2
ます。問題は、SQL Server が整数から型への変換を許可しないことdatetime2
です。
から時間部分を取り除く同等の決定論datetime2
的な方法はありますか?
entity-framework - null許容日時をデータベースに挿入するときに、EF5コードが最初にdatetime2を使用するのはなぜですか?
null 可能な日時を持つデータベースに Cart オブジェクトを保存しています。これは私が得るエラーです:
datetime2 データ型を datetime データ型に変換すると、範囲外の値になりました。
この問題の修正を文書化したスタックオーバーフローの投稿がかなりあります。ただし、コードが最初にデータベースを作成するときは、フィールドを DateTime (null を許可) として作成します。しかし、何らかの理由で、コードは最初に DateTime2 フィールドを使用して挿入を試みます。
なぜEFがフィールドを一方向に作成するのに、同じフィールドに別のタイプを使用して挿入するのか疑問に思っています。
これはドメイン オブジェクトです。
モデル:
したがって、OpeningDateUtc
と はどちらもClosingDateUtc
DateTime? 型です。
これは、データベースが最初に EF コードによって生成される方法です。
OpeningDateUtc
とはClosingDateUtc
、null 許容の DateTime フィールドとして作成されます。
を使用して保存IDBContext.SaveChanges()
すると、クエリ用に生成された SQL は次のようになります。
興味深い部分@4 datetime2(7),@5 datetime2(7)
です。
カートマップにa を追加することでこの問題を解決できることは理解して.HasColumnType("datetime2")
いますが、EF5 (およびおそらく古いバージョン) がそれらを null 許容の日時に設定した理由はわかりません。
delphi - Delphi 7 ADOQuery.ExecSQLを使用してミリ秒を保持するSQLServerでDateTimeを更新するにはどうすればよいですか?
Delphi7を使用してミリ秒を維持するSQLServer2012のDateTimeをどのように更新しますADOQuery.ExecSQL
か?
SQL Serverは秒の精度を落としているように見えるので、SQLServer2012DateTime2[7]
フィールドにミリ秒またはマイクロ秒がありません。MS Accessは、このADOクエリでミリ秒をドロップしません。次のADOQueryコードは、SQLServerを除くすべてのDataTypeで機能するようDateTime
です。
私が使用している接続文字列は次のとおりです。
Provider=SQLNCLI11.1;Integrated Security=SSPI;User ID="";Initial File Name="";Server SPN="";Data Source=myPC\SQLSERVER2012EXP;Initial Catalog=MyDatabase
これが私のコードです:
更新しました
MSAccessおよびSQLServerの変更されたコード: