問題タブ [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-server - 2 つの datetime2 列 (SQL Server) 間の間隔を計算するにはどうすればよいですか?
こんにちは、datetime2 型の 2 つの列の差を計算しようとしています。
ただし、SQL サーバー (2012) は次のことを好まないようです。
日時型にキャストすると機能するようになりました。
ただし、datetime にキャストすると精度が失われます (上記の 3 桁の精度に注意してください)。この場合、実際には小数点以下 5 桁すべてが必要です。2 つの datetime2 列の間の間隔を取得し、小数点以下 5 桁の精度を維持する方法はありますか? ありがとう。
sql - 主キーを追加し、列を DatetTime2 に変更する
特定のファイルがシステムによってチェックされるときに通過するステータスを追跡するテーブルがあります。次のようになります:
FileID int
Status tinyint
TouchedBy varchar(50)
TouchedWhen datetime
現在、このテーブルには主キーはありませんが、Status と TouchedWhen にはクラスター化されたインデックスがあります。
テーブルが拡大し続け、それに対するクエリのパフォーマンスが低下するにつれて、私が考えていたのは、PrimaryKey を追加して、ヒープ ルックアップ (FileID、Status、TouchedWhen の主キー) から抜け出すことです。
私が直面している問題は、TouchedWhen の丸めの問題が原因で、まったく同じ日時のエントリが 2 つある場合があります。
それで、それをdatetime2(7)に変換し、その時点で重複しているものを変更するのに何が必要かを調査し始めました。私のテーブルは次のようになります:
FileID int
Status tinyint
TouchedBy varchar(50)
TouchedWhen datetime2(7)
FileID、Status、TouchedWhen の主キー
私の質問はこれです-重複がある場合、既存のテーブルを通過してミリ秒を追加する最良の方法は何ですか? オンラインのままにしておく必要があるテーブルにこれを行うにはどうすればよいですか?
事前に、ありがとう、
ブレント
c# - テーブルの値のペアから dd/MM/yyyy 形式で出力する必要があります
テーブルの値のペアをストアド プロシージャに渡すコードを次に示します。DOJ フィールドは DateTime で、SP では DOJ フィールドは日付です。どちらも互換性があります。出力は dd/MM/yyyy のようになります。
DOJ フィールドが DateTime で SP の場合、DOJ フィールドは DateTime2(3)、o/p は dd/MM/yyyy hh:mm:ss ですが、o/p は dd/MM/yyyy である必要があります。コードはどのように記述すればよいですか?
ここに私のストアドプロシージャコードがあります -
sql - Datetime2 形式から dd/mm/yyyy へ
SQL Server 2008 データベースに、データ型が datetime2 の列があります。これは、日付が YYYY-MM-DDThh:mm:ss の形式で表示されることを意味します。ただし、日付をデフォルトで dd/mm/YYYY の形式にする必要があり、列のデータ型を変更できません。また、datetime2 形式は、SET LANGUAGE および SET DATEFORMAT セッション ロケール設定の影響を受けません。最後に、convert() 機能を使用したくありません。そうしないと、すべてのクエリを書き直す必要があります。
どうすればこれを達成できますか?
どうもありがとう!
sql - SQL Server の datetime2 と ODBC
MSDN のドキュメント によると、datetime2の範囲は0001-01-01から9999-12-31までです。また、ODBC 文字列リテラルは次のようになります。
最後の 3 つのステートメントが失敗するのはなぜですか? 値が1753-01-01よりも大きく、ODBC 構文が使用されていない場合にのみ成功します。
datetime - DTS は datetime2 を datetime に変換できません
あるデータベースから別のデータベースにデータを変換する DTS パッケージを作成する必要があります。すべての datetime2 フィールドが datetime に変更されていることを除いて、構造は基本的に同じです。データベースに対して DTS パッケージを実行しようとすると、切り捨てなしでは変換できない datetime2 フィールドに実行されるたびに失敗します。精度は本当に気にしません。日付と時刻が最も近い秒単位で必要なだけです。失敗するのではなく切り捨てを無視するように DTS を設定すると、行全体が無視され、最終的にデータがなくなります。この切り捨てが問題ないことを DTS に伝えるにはどうすればよいですか?