6桁の数値をSQL上でchar(6)型で取得しました。
これをサイト上で〇〇:〇〇といった表示にしたいです。
SQLの表示上では122015(12時20分15秒)で表示されているのを上記の表示にしたいのですが
方法がわかりません。
もともとchar(6)型で設定されていたためか、datetime型としての取得ができません。
別のクエリで取得していたdatetime型のデータは
String.Format("{0:MM/dd(ddd)/HH:mm}", l**t.Tables(0).Rows(a)("****"))
の形で日付からの表示ができたため、VBやSQL自体に問題はなさそうです。
8桁の数値を日付型にするformat(yyyy/mm/dd)などはわかるのですが、
上記のような「122015」という数値を「12:20」という表記にする方法がありますでしょうか?
SQLではinteger型、もしくはchar(6)、char(8)型で取得可能です。
サイト上で表示ができればよいので、datetime型にできなくてもOKです。
よろしくお願いいたします
例えば、0時1分0秒 とかはどうなってるのですか? 時・分・秒は必ず二けたずつ 000100 となっているのですか? 000100 となっているとして、二文字ごとに時・分・秒を入れて 00時01分00秒という文字列を作れば良いのですか? それとも 0時1分0秒 としなければならないとか? どういう変換規則になるのか詳しく書いてください。
時・分・秒はすべて2桁で表示は6桁となっています。000100の場合は「00:01:00」という表表示にしたいと思っています。
> 000100の場合は「00:01:00」という表表示にしたいと思っています。
SQL Server からは VB.NET + ADO.NET のコードで "000100" という文字列を取得するところまではできているのですよね。であれば、"000100" という文字列を 2 文字ずつ分割して ":" で連結するという方法でできると思うのですが(プリミティブな方法ではありますが)、何が問題なのでしょう?
ありがとうございました!解決しました!
Left(l**t.Tables(0).Rows(a)("****") , 2)
+ ":" + Mid(l**t.Tables(0).Rows(a)("****") ,3, 2)
とやったら表示できました!ベストアンサーにさせていただきたいので回答を頂けませんか?
上の私のコメントを回答欄に転記させていただきます。
お手数ですが、回答のコメントとして上の質問者さんのコメント、
解決しました!
Left(l**t.Tables(0).Rows(a)("****") , 2)
+ ":" + Mid(l**t.Tables(0).Rows(a)("****") ,3, 2)
とやったら表示できました!
を書いていただくようお願いします。Teratail は技術者同士の情報根幹の場所ということですので、後で検索などでここにたどり着いた人などのために情報提供に協力いただけると幸いです。
回答3件
あなたの回答
tips
プレビュー