テーブルに日付を挿入できるようにするスクリプトの機能が必要です。
フォーマットの日付を挿入するために必要なSQL
01/08/2010 00:00:00
ここで、日付は現在の月の最初の日です。月の値を指定できる順序を変更するには何が必要ですか?ありがとう
これを行うための最良かつ最も簡単な方法は、以下を使用することです:
SELECT DATEADD(m, DATEDIFF(m, 0, GETDATE()), 0)
GETDATE()を必要な日付に置き換えてください。
受け入れられた答えは機能し、より高速かもしれませんが、SQL 2012以降にはより簡単に理解できる方法があります。
SELECT cast(format(GETDATE(), 'yyyy-MM-01') as Date)
select cast(cast(datepart(year,getdate()) as char(4))
+ '/'
+ cast(datepart(month,getdate()) as char(2))
+ '/01' as datetime)
これを行う非常に簡単な方法を次に示します(SQL 2012以降を使用)
datefromparts(year(getdate()),month(getdate()),1)
を使用して月の最終日を簡単に取得することもできます
eomonth(getdate())
SELECT DATEADD(day、1-DATEpart(day、GETDATE())、GETDATE())
SELECT DATEADD(m, DATEDIFF(m, 0, GETDATE()), 0)
これは完全に機能しました。実際にCaseステートメントを追加しました。投稿をありがとう:
SELECT Case(DATEADD(m, DATEDIFF(m, 0, GETDATE()), 0) as Date)
私は通常、文字列をMM/DD/YY HH:mm:ssに変換すると思います、あなたは08/01/2010 00:00:00を使用する必要があります
申し訳ありませんが、文字列の順序を変更できるかどうかを確認するために質問を誤解しました。
これはあなたが望むものかもしれません:
declare @test as date
select @test = CONVERT(date, '01/08/2010 00:00:00', 103)
select convert(varchar(15), @test, 106)
これから変更 リンク 。これは文字列として返されますが、日時データ型を返すように必要に応じて変更できます。
SELECT CONVERT(VARCHAR(25),DATEADD(dd,-(DAY(GetDate())-1),GetDate()),101)
SELECT CAST(FLOOR(CAST(DATEADD(d, 1 - DAY(GETDATE()), GETDATE()) AS FLOAT)) AS DATETIME)