3

varcharデータ型を日時データ型に変換すると、値が範囲外になりました

select a.DLNO,
       a.NAME,
       b.TOPSTRING,
       Convert(datetime,a.DOB,103) as DOB, 
       Convert(datetime,a.DOI,103) as DOI,
       Convert(datetime,b.datepushed,103) as datepushed 
from    
       PLInfo_Demo a,DLInfo_Demo b 
where 
       a.dlno=b.DLNO
4

2 に答える 2

7

Type103では、ヨーロッパの日付/月順の datetimes が必要です。'dd/mm/yyyy'

月を最初に保存すると、このエラーが発生する可能性があります (たとえば、'01/13/2012')

その場合は、タイプ101( 'mm/dd/yyyy')を使用します

日時を として保存することを常にお勧めしDATETIMEます。

于 2012-06-04T09:06:14.477 に答える
0
sp_helptext sp_displayClinicRecordsbyclinicid


alter procedure sp_displayClinicRecordsbyclinicid

(

@id bigint,

@category char(1)

)

as


select id,ClinicName,

CONVERT(varchar(10), cast(Visitdate as datetime),101) Visitdate ,

CONVERT(varchar(19), cast(visitTime as datetime) ,101)  visitTime ,

patient_first,patient_last,patient_address,patient_city,patient_state, CONVERT(varchar(10), cast(patient_dob as datetime),101) patient_dob,



precriber,prescriptionnum,CONVERT(varchar(10),cast(pharmacyfilldate as datetime) ,101)  pharmacyfilldate,CONVERT(varchar(10),cast(prescriptionenddate as datetime) ,101) prescriptionenddate,drugname,drugformat,npi,dea,



licence,clinicid,Category,PatientFullname,Prescriber_first,Prescriber_last,Qty,Days



 from tblClinicRecords where clinicid=@id and Category=@category
于 2013-03-23T06:32:08.797 に答える