として保存されている文字列「Fri, 9 Mar 2012 10:43:21 +0000 (UTC)」を、文字列の日付部分である値「09-03-2012」varchar(max)
に変換するにはどうすればよいですか?datetime
質問する
548 次
4 に答える
0
MSによると:http://msdn.microsoft.com/en-us/library/ms187928.aspx
CONVERT()関数は、あるデータ型の式を別のデータ型に変換する一般的な関数です。CONVERT()関数を使用して、日付/時刻データをさまざまな形式で表示できます。
表には、必要なスタイルのコードとして105がリストされています。
だから、あなたの例の日付のために:
CONVERT(VARCHAR(10), 'Fri, 9 Mar 2012 10:43:21 +0000 (UTC)', 105)
おそらくトリックを行う必要があります。
于 2012-04-27T01:55:07.327 に答える
0
変換を使用して、このページを参照してくださいhttp://msdn.microsoft.com/en-us/library/ms187928.aspx
例:CONVERT(varchar(8)、GETDATE()、112)
于 2012-04-27T01:56:19.297 に答える
0
最初にあなたの日付を切り刻む必要がありましたが、次のとおりです。
DECLARE @ds varchar(30)='Fri, 9 Mar 2012 10:43:21 +0000 (UTC)';
SELECT CONVERT(VARCHAR(10)
,CAST(SUBSTRING(@ds
,CHARINDEX(' ',@ds)
,LEN(@ds)-(PATINDEX('%[0-9][0-9][0-9][0-9]%',@ds)+6))
AS DATETIME)
,105
)
結果:
09-03-2012
于 2012-04-27T02:09:48.297 に答える
0
SQL Server 2012 を使用している場合は、これを試すことができます。
select CONVERT(date, TRY_PARSE('Fri, 9 Mar 2012 10:43:21 +0000' AS datetime2))
注: (UTC) は削除され、正しく解析されませんでした。
また、その時間値をローカライズする必要がある場合にも注意してください。たとえば、私はアリゾナ州に住んでいるので、通常は UTC 時間から -7 時間を引いてローカライズします。タイムゾーンに基づいて同様の調整を行う必要があります
于 2012-04-27T14:42:18.273 に答える