Je fais un rapport qui montre les anniversaires des départements pour le mois en cours, et pour une raison quelconque, ils ont décidé d'utiliser VARCHAR (10) pour l'anniversaire de l'employé en la table. Bien que, je peux obtenir l'information dont j'ai besoin en utilisant VARCHAR, je suis incapable de filtrer le mois courant dans Tableau parce qu'il ne reconnaît pas les données comme une date réelle.Besoin de convertir VARCHAR (10) en utilisant la chaîne MMMDD dans une DATE en SQL
J'ai donc besoin de convertir VARCHAR (10) en utilisant une chaîne MMMDD dans une DATE en SQL. Je sais que sans l'année, ce ne sera jamais une date valide, mais l'année n'est pas importante pour mon rapport, donc une année générique peut être appliquée.
Toute aide serait géniale. PeopleSoftData.birth_date est le champ qui est VARCHAR (10) et la chaîne de données utilise MMMDD Ex: JAN18 sans un an, donc j'ai eu des problèmes pour convertir en DATE en utilisant Q & A préexistant sur le site.
SELECT
PeopleSoftData.fname+' '+PeopleSoftData.lname AS 'Full Name',
PeopleSoftData.fname AS 'First Name',
PeopleSoftData.lname AS 'Last Name',
PeopleSoftData.location AS 'Site',
PeopleSoftData.birth_date AS 'Birth Date', -- This field is VARCHAR(10) and the data string is using MMMDD Ex:JAN18 without a year
PeopleSoftData.orig_hire_date AS 'Hire Date',
PeopleSoftData.supervisor_name AS 'Supervisor'
FROM dbo.USC_StatsApp_Members MemberList
INNER JOIN dbo.USC_Reporting_PeopleSoft_Data PeopleSoftData ON (PeopleSoftData.empcontid = MemberList.empcontid)
WHERE
PeopleSoftData.termination_date IS NULL
AND PeopleSoftData.birth_date IS NOT NULL
AND MemberList.USC_Active = 1
AND DATEDIFF(wk,MemberList.Last_seen_PeopleSoft,current_timestamp) < 2
Ne pas oublier d'avoir une année bissextile comme générique an. – jarlh
Pourquoi avez-vous même besoin de le lancer comme une date? Essaies-tu simplement de changer le format d'affichage? – shawnt00
pour exécuter des fonctions de date sur elle .... –