texte - sql server format date yyyymmdd



Conversion de Varchar 3 en int (1)

Je pense que l'un de vos dossiers propabaly dans pe.fdaddress n'est pas numérique pour éviter cela, vous feriez mieux de convertir l'entier en char quelque chose comme ça

SELECT ca.fdorgunit AS Facility
, pt.fdmedrecnum AS Account
, ca.fddos AS DOS
, ad.fdaddr1 AS [Address]
, pe.fdssn AS SSN
FROM OPENQUERY (VISION, 'SELECT * FROM ci.tbcase') AS ca
LEFT JOIN OPENQUERY (VISION, 'SELECT * FROM de.tbpatient') AS pt
ON pt.id = ca.fdpatient
LEFT JOIN OPENQUERY (VISION, 'SELECT * FROM de.tbperson') AS pe
ON pt.fdperson = pe.fdid
LEFT JOIN OPENQUERY (VISION, 'SELECT * FROM de.tbaddress') AS ad
ON CAST(ad.id AS varchar(10)) =  CAST(pe.fdaddress AS varchar(10))
WHERE ca.fdcasestatus = 'Performed'
GROUP BY ca.fdorgunit, ca.fddos, pt.fdmedrecnum, pe.fdssn, ad.fdaddr1

En entrant la toute dernière jointure dans mon code ci-dessous, j'obtiens un message d'erreur qui indique "La conversion a échoué lors de la conversion de la valeur varchar '3' en type de données int." (MSG 245, niveau 16, état 1, ligne 1) Quelqu'un peut-il m'aider s'il vous plaît avec ceci? Dans un tableau, il y a des caractères étranges devant le numéro que j'essaie de joindre avec l'autre numéro de l'autre table.

SELECT ca.fdorgunit AS Facility
, pt.fdmedrecnum AS Account
, ca.fddos AS DOS
, ad.fdaddr1 AS [Address]
, pe.fdssn AS SSN
FROM OPENQUERY (VISION, 'SELECT * FROM ci.tbcase') AS ca
LEFT JOIN OPENQUERY (VISION, 'SELECT * FROM de.tbpatient') AS pt
ON pt.id = ca.fdpatient
LEFT JOIN OPENQUERY (VISION, 'SELECT * FROM de.tbperson') AS pe
ON pt.fdperson = pe.fdid
LEFT JOIN OPENQUERY (VISION, 'SELECT * FROM de.tbaddress') AS ad
ON ad.id = pe.fdaddress
WHERE ca.fdcasestatus = 'Performed'
GROUP BY ca.fdorgunit, ca.fddos, pt.fdmedrecnum, pe.fdssn, ad.fdaddr1




type-conversion