0

として保存されている文字列「Fri, 9 Mar 2012 10:43:21 +0000 (UTC)」を、文字列の日付部分である値「09-03-2012」varchar(max)に変換するにはどうすればよいですか?datetime

4

4 に答える 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 に答える