「2012- 12-01 12:33:00.0」を「2012- 01-12 12:33:00.0」にするにはどうすればよいですか?私は "select convert(varchar(50)、convert(datetime、log_date、103)、121)"を試していましたが、101と103の両方を使用しています。datetimeで月と日を反転させる方法は?
データベースはMS SQL
「2012- 12-01 12:33:00.0」を「2012- 01-12 12:33:00.0」にするにはどうすればよいですか?私は "select convert(varchar(50)、convert(datetime、log_date、103)、121)"を試していましたが、101と103の両方を使用しています。datetimeで月と日を反転させる方法は?
データベースはMS SQL
DECLARE @date DATETIME
SET DATEFORMAT ydm
SET @date = '2012-12-01 12:33:00.0'
SELECT @date
SET DATEFORMAT ydm
は、あなたの必要な形式で結果を与えるです。
その他のオプション
UPDATE Table_Name
SET COLUMN_NAME= convert(varchar(20), convert(Date, @date, 101)) + convert(varchar(30),convert(time, @date))
WHERE
OR
select convert(datetime, convert(varchar(100), @date), 20)
あなただけのいくつかの文字列操作(注:未テストコード)を行うことができ
UPDATE table
SET date=
LEFT(CONVERT(VARCHAR(50),date,128),4) -- '2012'
+SUBSTRING(CONVERT(VARCHAR(50),date,128),7,3) -- '-01'
+SUBSTRING(CONVERT(VARCHAR(50),date,128),4,3) -- '-12'
+RIGHT(CONVERT(VARCHAR(50),date,128),LEN(CONVERT(VARCHAR(50),date,128))-10) -- ' 12:33:00.0'
はでこれをしないでください SQL。 DateTimeを表示する必要があるときにアプリケーションで行います。 – Oded
いいえ、できません。その理由は、データが誤って入力されたためです。だから私はデータを修正する必要があります。その他の日付フィールドは正しい形式です。したがって、私はこの分野のためだけにアプリを変更することはできません。データを修正する必要があります。 – cooldude
どういう意味ですか?日付は正しいですか? DateTime値**には、**の形式はありません。これはSSMSがあなたに表示する方法です。 – Oded