- - PR -
[SQLServer2000]charからdatetimeへの変換
1
| 投稿者 | 投稿内容 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-06-14 16:41
いつもお世話になっております。
C#側で質問すべきか悩みましたがこちらで質問させてください。 SQLServer2000とC#を使っております。 Aテーブルで日付データがchar型で"YYYYMMDD"となっているものを Bテーブルにdatetime型で入れたいと思っています。 この際、C#でchar型からdatetime型に型変換を行った上で INSERTする以外の方法(できるだけ簡単にできるもの)があれば 教えてください。 | ||||||||||||
|
投稿日時: 2006-06-14 16:56
こちらの 111 とか 120 あたりが参考になるかと思います。
CAST と CONVERT _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-06-14 17:55
じゃんぬねっとさんありがとうございます。
時刻まで入れたいと思っているのですが CONVERT(datetime, 'YYYYMMDD', 120) を使った場合は YYYY-MM-DD 00:00:00.000 と必ず時刻の部分は0が出るという認識であっているでしょうか? 設定等によって変わる等はありますでしょうか? 0以外のものが出て欲しくないので、0以外が出なければよいのですが・・・。 また、そのままの値でインサートしても 2006-05-01 00:00:00.000 と正しく入ってしまいました。 何も設定する必要がないのであればそのまま入れてしまおうと 思っているのですが、こちらも設定によって 00:00:00.000以外に変わることはあるのでしょうか。 | ||||||||||||
|
投稿日時: 2006-06-14 19:49
'YYYYMMDD' ですからね。
この理由が、わからないですね。 何も設定されていないのであれば、0 以外は好ましくないですよね。 なぜ、その逆をしたいのかがわからないです。
結局のところ、時刻を含めたいのか、含めたくないのかがわからないです。 時刻にあたる部分がないのであれば、時刻形式のない style を使えば良いでしょうし、 あるのであれば、'正しく' 表示させるべく、expression を設定すべきです。 2 つにひとつだと思うのですが、ご所望の方式はどちらにも該当しません。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-06-14 20:01
横から失礼します。
日本限定ならこれで良いですが異文化では年月日の順序が入れ替わることがあるので要注意です。 | ||||||||||||
|
投稿日時: 2006-06-15 15:18
皆様ご指摘ありがとうございます。
じゃんぬねっとさんのおっしゃっている 時刻に関することですが、あってもなくてもよいので styleを変えようと思います。 Yamさんご指摘ありがとうございます。 日本限定ならということですね。きちんと設定します。 皆様どうもありがとうございました。 | ||||||||||||
1
