2017-05-16 13 views
0

以下のコードを試しましたが、日付にダッシュを付けて保存しています。 2016-10-12日付タイプの日付に日付を「YYYYMMDD」形式でダッシュまたはスラッシュなしで格納できますか?

Declare @dts table 
(
a date 
) 

insert into @dts (a) 
select format(cast('20161012' as date),'yyyyMMdd') 

select * from @dts 
+8

いいえ、ダッシュで日付を保存しません。 1月1日以降に発生した日数が格納されます。* * *を取得すると*表示される文字列*が表示され、デフォルトでSSMSはダッシュを含む形式を選択します。これは、何が格納されているかと何も関係がありません。あるいは、表示目的の文字列への変換を制御している場合は、格納された値で何ができるのですか? –

+1

日付を数値として保存し、UNIX時間とも呼ばれるEPOCH日付を使用する場合は、区切り文字で日付タイプを保存することはできません。または、実際にYYYYMMDDとして使用する場合は、文字列varchar(8)として格納します。 – SPlatten

+1

一般的に 'date'を有効な' date'形式で保存し、あなたの望む形式を使用して検索するか、 'nvarchar'型の列を使うことができますが、推奨できません。 –

答えて

0

intデータ型はどうですか?

Declare @dts table 
(
a int 
) 

insert into @dts (a) 
select format(cast('20161012' as date),'yyyyMMdd') 

select * from @dts 
+0

'date'を整数として格納することは本当に悪い考えです –

関連する問題