質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Q&A

解決済

3回答

9774閲覧

SQLServerで保存されている4桁の数値を時間形式(hh:mm)に変換して保存したいです。(時間への変換はできている為、4桁にコロンを入れる方法が知りたいです。)

yurika_21

総合スコア12

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

0グッド

0クリップ

投稿2020/07/30 22:05

前提・実現したいこと

SQLServerで4桁の数値を保存しているのですが0000のような形で保存されています。
00:00のような形式で保存するにはどのようにすればよろしいでしょうか?

なお、時間の変換は出来ているので、4桁にコロンを入れる方法が知りたいです。
型はNvarchar(Max)です。
現在は、クリックしたパネルの背景色が変わったままで残ってしまっている状態です。

発生している問題・エラーメッセージ

4桁のまま保存されてしまう(0000)

該当のソースコード

試したこと

Convertなどを使用してみましたが、うまく行きませんでした。

補足情報(FW/ツールのバージョンなど)

VisualStudio2017,SQLServer

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

書式についてはFORMAT()も覚えていた方が良いかと思います。

SQL

1select FORMAT(CONVERT(int, [項目]), '00:00')

項目が数値型ならCONVERT()は不要

SQL

1select FORMAT([項目], '00:00')

投稿2020/07/31 00:17

編集2020/07/31 00:19
sazi

総合スコア25327

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

これで。

SQL

1DECLARE @s nvarchar(4) = N'1234' 2 3SELECT SUBSTRING(@s, 1, 2) + ':' + SUBSTRING(@s, 3, 2)

投稿2020/07/30 22:45

gentaro

総合スコア8947

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yurika_21

2020/07/30 22:50

ありがとうございます! うまく動作することが出来ました! 本当に助かりました!
guest

0

ベストアンサー

SUBSTRING で 2桁ずつに分けて、間に : を入れて CONCAT で結合します。
ですが、通常は 日付と時刻のデータ型 を使った方がシステムを維持し易いですから、データ型を変更されることをお薦めします。

投稿2020/07/30 22:35

Orlofsky

総合スコア16417

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yurika_21

2020/07/30 22:42

ありがとうございます! Time型に変更して実装してみようと思います! ご回答いただきありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問