2013-03-07 14 views
7

私は、MS SQLのdatetimeデータ型からミリ秒を削除する方法について質問を投稿しました。時間のデータ型からミリ秒を削除します。また、ミリ秒以下の時間のデータ型はありますか?

しかし、時間データ型についてはどうでしょうか?時間データ型からミリ秒単位を削除する最も簡単な方法は何ですか?

また、ミリ秒を含まないMS SQL(2008)のデータ型はありますか?

ありがとうございます!

答えて

14

ミリ秒を削除する最も簡単な方法の一つは次のとおりです。

SELECT CONVERT(VARCHAR, GETDATE(), 20) 

そして、あなたはミリ秒を含めたいいけない場合:

TIME(0) will help 

CAST(DATEADD(second, SUM(hora), '00:00:00') AS time(0)) 
+0

これは非常に便利でした。エレガントで効果的。 –

+0

これは本当に効果的です。私が見つけた他の解決策、それは000として最後の3桁を示しています。 –

0

私はMS SQL Server 2005のこの問題を解決するためにやったこと。これは、右の年の部分の最後の番号の後、)GETDATE(からの値の一部をカット

create table mytable (Date varchar(11)) 

insert into mydb.mytable select GETDATE() as Date; 

です。すなわち 'Jan 09 2014'です。

編集:明確にするには、varchar(11)が解決策です。

編集:この解決策は、mysqlがアルファベットの月を持っている間にmysqlがすべての整数を返すため、mysql CURDATE()に参加する必要がある場合にはうんざりです。

0

sql server 2005で時刻を返すだけの場合は、変換(SELECT SUBSTRING(CONVERT(VARCHAR、GETDATE()、20)、12,8)を使用して部分文字列関数を使用できます。 時刻がhh:mm:ssの形式で返されます。

関連する問題