[解決済み] SQLサーバーで文字列をsmalldatetimeデータ型に変換する際、変換に失敗しました(静的値を除く)。
2022-02-07 12:44:19
質問事項
を持っています。
table
開始時刻と終了時刻を格納する。
I Got
文字列を smalldatetime に変換する際に、変換に失敗しました。 データ型になります。
を使用して以下のクエリを選択すると、エラーが発生します。
table
.
select CAST(substring(CONVERT(varchar,convert(smalldatetime,o.StartTime),114), 1,2) as int)
from TimeTable O
解析の結果、開始時刻が「0」のレコードはほとんどないことがわかりました。
'9:30 PM'
というエラーが発生します。( その他のレコードには
'09:30 PM'
を開始時間として使用します)。午後9時30分」のレコードを除外したところ、クエリが正常に実行されました。
ここで問題なのは,
で明示的に値を指定すると
select
文は、以下のようになります。
SELECT CAST(substring(CONVERT(varchar,convert('9:30 PM',o.StartTime),114), 1,2) as int)
エラーは出ませんでした。
しかし
table
どなたかお手伝いしていただけませんか?
解決方法は?
実際にどのような出力を求めているのでしょうか?
9:30 PM' や '09:30 PM' のような値を Time 形式に変換したい場合は、以下のようにします。
SELECT CAST(CONVERT(VARCHAR(8), '9:30 PM', 108)AS TIME)
SELECT CAST(CONVERT(VARCHAR(8), '09:30 PM', 108)AS TIME)
その他、datetimeまたはsmalldatetimeで保存する場合
であれば、これはあなたのために動作します。
SELECT CAST(CONVERT(VARCHAR(8), '9:30 PM', 108)AS DATETIME)
SELECT CAST(CONVERT(VARCHAR(8), '09:30 PM', 108)AS DATETIME)
関連
-
[解決済み] datetimeの挿入時に文字列から日付や時刻を変換すると、変換に失敗する
-
[解決済み】''付近の構文が正しくない
-
[解決済み] テーブルのFROM句の項目がない [終了しました] 。
-
[解決済み] varchar データ型から datetime データ型に変換すると、SQL クエリで範囲外の値が発生する
-
[解決済み】テキストが切り捨てられた、または1つ以上の文字がターゲットコードページで一致しない アンピボットの主キーを含む
-
[解決済み] pg_restoreです。[archiver] 入力ファイルはテキスト形式のダンプであるように見えます。psql を使用してください。
-
[解決済み] DELETE文の競合REFERENCE制約
-
[解決済み] エラー: 名前解析スクリプトで正しい関数に渡された長さのパラメーターが無効です。
-
[解決済み] SQLエラーです。ORA-00922: オプションがないか無効です。
-
[解決済み] INTからVARCHARへの変換 SQL
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 列名または提供された値の数がテーブル定義と一致しない
-
[解決済み] テーブルのFROM句の項目がない [終了しました] 。
-
[解決済み] バックエンドバージョンでは、データベースのダイアグラムやテーブルのデザインはサポートされていません。
-
[解決済み] ''付近の構文が正しくない
-
[解決済み] WHERE x IN (5) vs WHERE x = 5 ...なぜINを使うのか?
-
[解決済み] SQL Server サブクエリが 1 つ以上の値を返しました。これは、サブクエリが =, !=, <, <= , >, >= のように続く場合は許可されません。
-
[解決済み] CLOBとNCLOBの違いは何ですか?
-
[解決済み] ORA-00997: LONG データタイプの不正使用に対する回避策
-
[解決済み] MySQLのON句の不明なカラム
-
[解決済み] PLS-00428: この SELECT 文では INTO 句が必要です。