SQL Server Convert() 関数
特定の日時値を文字列に変換する方法の 1 つは、convert() 関数を使用することです。構文は次のとおりです。
変換 ( データ・タイプ [ ( 長さ ) ] 、 表現 [ 、 スタイル ] )関数のパラメータは次のとおりです。
- data_type – 対象のデータ型。
- 式 – 任意の有効な式
- length – ターゲット データ型の長さを定義するオプションの整数。
- style – 関数が指定された式をどのように変換するかを定義する整数式。
この関数は、ターゲットのデータ型に変換された入力式を返します。
したがって、日時を文字列に変換するには、次の構文を使用できます。
変換 ( VARCHAR 、 日付時刻 [ 、 スタイル ] )
次の表は、文字列型に変換した後の datetime 値の有効なスタイルと同等の形式を示しています。
例
次の例は、日時を文字列に変換する方法を示しています。
宣言する @obj日時 = 「2022-10-10 13:45:34.100」 ;
選択する 変換 ( VARCHAR ( 50 ) 、 @オブジェクト ) ;
上記の例では、obj というスカラー変数を宣言することから始めます。これは、変換したい日時値を保持します。
最後に、convert 関数を呼び出して、ターゲット データ型を varchar として渡します。これは、指定された日時のスタイルを次のように返します。
| |-------------------+
10月 10 2022年 1 :45PM | |
例 2
日時オブジェクトを mm/dd/yyyy 形式に変換します。スタイルを 1 に設定します。
宣言する @obj日時 = 「2022-10-10 13:45:34.100」 ;選択する 変換 ( VARCHAR ( 50 ) 、 @オブジェクト 、 1 ) ;
結果の出力:
| |------+
10 / 10 / 22 | |
例 3
日時の値を dd.mm.yyyy 形式で返すには、スタイルを 4 に設定します。
宣言する @obj日時 = 「2022-10-10 13:45:34.100」 ;選択する 変換 ( VARCHAR ( 50 ) 、 @オブジェクト 、 4 ) ;
出力:
| |------+
10 . 10 . 22 | |
例 4
datetime を hh:mi:ss 形式の文字列に変換するには、次のコードを実行します。
宣言する @obj日時 = 「2022-10-10 13:45:34.100」 ;選択する 変換 ( VARCHAR ( 50 ) 、 @オブジェクト 、 108 ) ;
戻り値:
| |------+
13 : 4.5 : 3.4 | |
結論
この投稿では、特定の日時値をさまざまな形式の文字列に変換する基本について説明しました。上記の表で、複数の形式と対応するスタイルを確認できます。