Convertir format Datetime varchar style de format de solution de contournement
J'ai une colonne datetime que j'ai besoin d'afficher dans le format suivant:
YYYY/MM/DD 00:00:00:000
Avec CONVERT
, je ne peux pas trouver tout les styles.
La /
dans le format est vraiment important, car il doit être comparé avec un VARCHAR
colonne de texte YYYY/MM/DD 00:00
dans le cadre de la description comme ci-dessous:
Si je peux trouver un moyen/de style alors je peux utiliser une fonction de sous-CHAÎNE de la comparer à la valeur ci-dessous:
Diary item added for : 2013/08/20 14:12
J'ai eu un coup d'oeil à:
Mais, je ne trouve pas de suffisamment de styles que a /s'. Seulement -'s.
- Avez-vous un moment de la partie? ou de ne vous occuper que de la date de la partie?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le style qui ressemble le plus à ce que vous souhaitez comparer et utiliser
REPLACE
pour remplacer le-
avec\
.Modifier Duco à @bluefeet
De Technet: Cast et Convert
select REPLACE(convert(varchar(23), yourdate, 121),'-','/')
- voir la démoSUBSTRING
est le plus lisible et maintenable solution, mais si vous l'aimez raccourci, vous pouvez aussi convertir à unevarchar(16)
et obtenir les mêmes résultats.Bien vous pouvez convertir des Dates dans le format avant de vous comparer les deux suffit d'utiliser l'un de ces: exécution de ce et vous pouvez sélectionner à partir, assurez-vous de convertir les deux dates, avant de Comparer les
Ou d'Utiliser ce
varchar
avec aucune longueur. Mauvaises habitudes pour le coup : déclaration de type VARCHAR sans (longueur)Pourquoi je ne peux pas vous faire l'inverse. Convertir la colonne varchar à jour au lieu de convertir la date varchar