時刻形式" 10:02:22 PM "を SQL Server の DateTime 形式に変換するにはどうすればよいですか 。
そのようなデータの列があります。この列を CSV ファイルからインポートしましたが、日時関数を使用できるように日時形式に変換したいと考えています。
この列を正しい DateTime 形式の別のテーブルに挿入できるようにしたいと考えています。
時刻形式" 10:02:22 PM "を SQL Server の DateTime 形式に変換するにはどうすればよいですか 。
そのようなデータの列があります。この列を CSV ファイルからインポートしましたが、日時関数を使用できるように日時形式に変換したいと考えています。
この列を正しい DateTime 形式の別のテーブルに挿入できるようにしたいと考えています。
次のリンクを使用してください: http://msdn.microsoft.com/en-us/library/ms187928.aspx。
時間換算のみ...
SELECT CONVERT( TIME, '10:00:22 PM' );
次の出力が得られます...
22:00:22.000000
日付と時刻による時間変換...
SELECT CONVERT( DATETIME, '10:00:22 PM' );
次の出力が得られます...
1900-01-01 22:00:22.0000
注:datetime
入力として特定の日付が必要な場合は、デフォルトの世紀の日付が考慮されます。
変換する必要はありません。を使用すると、暗黙のキャストが発生します。
INSERT otherTable
SELECT ....., timeAsVarchar, ...
FROM csvTable
すべての時間データ (先行スペースの有無にかかわらず) が文字列から解析可能であれば、クエリはうまく機能します。ただし、時間に変換できない不良データまたは空白データの可能性がある場合は、最初にテストしてください。
INSERT otherTable
SELECT ....., CASE WHEN ISDATE(timeAsVarchar)=1 THEN timeAsVarchar END, ...
FROM csvTable
ELSE NULL
という意味なので省略しました。