7

こんにちは、データベースの日付フィールドを更新するステートメントの書き方をお聞きしたいと思います。1行を含むテーブルがあり、値の1つが

YYYY-MM-DD HH:MM:SS.MMM

MMM は秒の一部です。書き方は?

4

2 に答える 2

11

現在の日付

update your_table
set date_field = getdate()

または現在の日時

update your_table
set date_field = current_timestamp

または任意の日時

update your_table
set date_field = '2013-09-23 12:00:00.000'
于 2013-09-23T13:37:17.470 に答える
1

あなたは2つのものを混ぜています。1 つは varchar への表示/キャスト時に datetime 型をフォーマットすることであり、もう 1 つは型そのものです。

型自体は内部に日時を格納しますが、この質問のためにそれはあなたには関係ありません。いつも同じです。cast(dt_column as varchar(20))SQL Server Management Studio でそれをどのように見るかは完全に別の問題であり、クエリ ( ) で直接文字列にキャストするか、使用しているツールによって間接的にキャストするかに依存します。

日時型を手動で設定する場合は、通常、日時形式に直接または間接的にキャストされた日付を含む文字列を記述します。つまり、直接declare @dt datetime = '2012-01-01 23:00:00'は間接的ですが、間接的declare @dt datetime = cast('2012-01-01 23:00:00' as datetime)です。

YYYY-MM-DD HH24:MI:SS.mmm の形式はかなり標準的なので、文字列からの間接キャストを使用できると確信しているので、次のように書くことができます。

update [table_name_here]
set [column_name_here] = '2013-01-01 23:12:11.123'
where ... --this line only if needed; if you have only one row you may skip it

もちろん、「 」の私の日付をあなたの日付に置き換えてください。

于 2013-09-23T13:48:18.277 に答える