0
使用時,當我有一個查詢,如四捨五入VARCHAR:SQL的功能
SELECT top 1 LabResult_Result as Value
FROM [TopsData].[dbo].[VIEW_PatientLabResult]
where MasterLabCode_ID = '000000003H'
and Patient_ID = 'ZZZZZ00063'
and LabResult_RecordState = 0
and datediff(d,'11/19/2013',LabResult_DateTimeOfObservation) >= 0
ORDER BY LabResult_DateTimeOfObservation
的結果是好的,通常是一個類似於一個decimale如1.10
但是,如果我換VARCHAR這一個功能,它返回只是一個1
:
declare @R varchar(10)
SELECT @R = Value FROM (
SELECT top 1 LabResult_Result as Value
FROM [TopsData].[dbo].[VIEW_PatientLabResult]
where MasterLabCode_ID = '000000003H'
and Patient_ID = 'ZZZZZ00063'
and LabResult_RecordState = 0
and datediff(d,'11/19/2013',LabResult_DateTimeOfObservation) >= 0
ORDER BY LabResult_DateTimeOfObservation
)q
return @R
END
很顯然,我有計劃讓通用與參數,等等。但是,如果硬編碼的查詢不會返回正確的varchar,我不知道該怎麼做。
你是什麼LabResult_Result列的實際數據類型? – Andrew
從源表︰varchar(250) – ajspacemanspiff
關閉我的頭頂,我不知道是什麼會導致你正在報告的行爲。但是,如果你想要一個小數,然後把它作爲小數存儲!另外,我沒有看到你的proc需要,它沒有做任何簡單的查詢無法做的事情。 – Andrew