このステートメントが成功するのはなぜですか?
SELECT CAST('08:50' as time)
でもこれ失敗?tmrec
は nvarchar(6) 列であり、同じ値が含まれています'08:50'
。これは、過去1時間から私を夢中にさせています。
SELECT TOP 1 CAST(tmrec as time)
FROM Instr
WHERE igrp = 'JD'
ORDER BY ino , smallin
このスクリーンショットは、最初のクエリの結果を示しています。08:50 が含まれています。それでも、2 番目のクエリはエラーをスローします。
編集:
これでも機能せず、フェッチされたレコードにのみ変換が適用されることが保証されます。
SELECT CAST( tmrec as time)
FROM
(
SELECT TOP 1 tmrec
FROM [ccwise-courts].[dbo].[INSTR]
WHERE igrp = 'JD'
ORDER BY ino , smallin
) v