ここから本文です

SQL SERVER 2005 で 日付型のフォーマット設定を教えてください。 convert(char,...

j99********さん

2007/11/1220:35:28

SQL SERVER 2005 で 日付型のフォーマット設定を教えてください。
convert(char,日付項目,111)だと2007/01/01 になってしまいます。 0 を消したいのですが
わかりません。

閲覧数:
82,427
回答数:
2

違反報告

ベストアンサーに選ばれた回答

kb1********さん

2007/11/1312:25:31

convertの仕様については以下を参照。
http://msdn2.microsoft.com/ja-jp/library/ms187928.aspx

yyyy/m/d の書式設定は定義されていませんので、convertだけでは不可能だと思います。
REPLACE で'/0'を '/'に変換したらいいんじゃなでしょうか? 

ベストアンサー以外の回答

1〜1件/1件中

ete********さん

2007/11/1315:44:31

こういう方法もあります。

declare @日付 datetime
select @日付='2007/09/01'

select datepart(yyyy,@日付) --年
select datepart(m,@日付) --月の頭ゼロなし
select datepart(d,@日付) --日の頭ゼロなし

--それを組み合わせて...
select convert(char(4),datepart(yyyy,@日付))+'/'+rtrim(convert(char(2),datepart(m,@日付)))+'/'+rtrim(convert(char(2),datepart(d,@日付)))

でも、kb12345678987654321さん の言われる '/0' を '0'の方が良いかもしれませんね。

select replace(convert(char,@日付,111),'/0','/')

但し、どちらの方法も文字列になっているので、印刷だけならそれほど問題ではありませんが、ストアドプロシージャやトリガの中で再度、日付型として使いたい場合は注意が必要です。
お試し下さい。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる