MS SQL Server では、データベースを操作するときに、挿入するためにテーブル内の日付の形式を入力日付と一致させる必要があるため、日付は初心者にとって複雑です。さまざまなシナリオで、日付の代わりに DateTime (日付には時間も関係します) が使用されます。この記事では、3 つの異なる関数を使用して DateTime を DATE に変換する方法を学びます。
- 変換する( )
- TRY_CONVERT( )
- 部分文字列の使用
この記事のデータの目的は、SQL Server で DateTime を日付 (YYYY-MM-DD HH:MM: SS から YYYY-MM-DD など) に変換することです。
方法 1: キャストを使用する
これは、ある型を別の型にキャストする関数です。そこで、ここでは DateTime を日付にキャストするために使用します。
構文:
CAST( dateToConvert AS DATE)>
例 1:
クエリ:
ハッキング処理
SELECT CAST(GETDATE() AS DATE) AS CURRENT_DATE>
出力:
GETDATE(): この関数は、(2021-08-27 17:26:36.710) のように現在の日付時刻を返します。
例2;
クエリ:
SELECT CAST('2021-08-27 17:26:36.710' AS DATE) AS CURRENT_DATE_GFG> 出力:
方法 2: 変換を使用する
これはある型を別の型に変換する関数です。そこで、ここではこれを使用して DateTime を日付に変換します。
構文:
CONVERT(DATE, dateToConvert)>
例 1:
クエリ:
SELECT CONVERT(DATE, GETDATE()) AS CURRENT_DATE_GFG>
出力:
例 2:
クエリ:
SELECT CONVERT(DATE, '2021-08-27 17:26:36.710' ) AS CURRENT_DATE_GFG>
出力:
方法 3: Try_Convert
これはある型を別の型にキャストするための関数です。そこで、ここでは DateTime を日付に変換するために使用します。日付が無効な場合は null となり、Convert ではエラーが生成されます。
構文:
TRY_CONVERT(DATE, dateToConvert)>
SELECT TRY_CONVERT(DATE,’2021-08-27 17:26:36.710’) AS CURRENT_DATE_GFG
例 1:
クエリ:
SELECT TRY_CONVERT(DATE,GETDATE()) AS CURRENT_DATE_GFG>
出力:
例 2:
クエリ:
SELECT TRY_CONVERT(DATE,'2021-08-27 17:26:36.710') AS CURRENT_DATE_GFG>
出力:
方法 4: 部分文字列を使用する
これは短い文字列または部分文字列を取得するために使用する関数なので、ここでは部分文字列 0 ~ 11 のインデックスを取得します。
構文:
SUBSTRING( dateToConvert ,0,11)>
例 1:
クエリ:
ダイアナ・アンクディノワ
SELECT SUBSTRING( '2021-08-27 17:26:36.710' ,0,11) AS CURRENT_DATE_GFG>
出力:
例2;
クエリ:
SELECT SUBSTRING( CONVERT(varchar(17), GETDATE(), 23) ,0,11) AS CURRENT_DATE_GFG>
出力: