Ce que j'essaie de réaliser est assez simple: passer d'un format de date à un autre;
De ceci: Jan 30 2013 12:00:00:000AM
à ceci: DD/MM/YYYY
ou dans ce cas 30/01/2013
Cependant, lorsque le format de la date est absent du 1er au 9 du mois, il manque un zéro et il y a deux espaces, comme indiqué;
Jul 3 2014 12:00:00:000AM
J'ai cherché une solution, mais sans succès, le format de la date est inhabituel et varie en fonction du jour du mois, mais il est généré par un système interne et ne peut pas être modifié. Aurais-je alors besoin d'une correspondance de motif pour changer le format? Comment pourrais-je m'y prendre?
Voici un exemple d’une partie de la requête.
SELECT
PREFIX_TableName.ColumnName1 AS Name,
PREFIX_TableName.ColumnName2 AS E-Mail,
PREFIX_TableName.ColumnName3 AS TransactionDate,
PREFIX_TableName.ColumnName4 AS OrderNumber,
...
La ligne à éditer est ce PREFIX_TableName.ColumnName3 AS TransactionDate,
Si DB est SQL Server then
select Convert(varchar(10),CONVERT(date,YourDateColumn,106),103)
Si j'ai compris votre question, essayez quelque chose comme ça
declare @dd varchar(50)='Jan 30 2013 12:00:00:000AM'
Select convert(varchar,(CONVERT(date,@dd,103)),103)
Mettre à jour
SELECT
PREFIX_TableName.ColumnName1 AS Name,
PREFIX_TableName.ColumnName2 AS E-Mail,
convert(varchar,(CONVERT(date,PREFIX_TableName.ColumnName3,103)),103) AS TransactionDate,
PREFIX_TableName.ColumnName4 AS OrderNumber
Si vous avez une colonne Date (ou Dateetime), consultez http://dev.mysql.com/doc/refman/5.5/fr/date-and-time-functions.html#function_date-format
SELECT DATE_FORMAT(datecolumn,'%d/%m/%Y') FROM ...
Devrait faire le travail pour MySQL, pour SqlServer, je suis sûr qu’il existe une fonction analogique . Si vous avez une colonne VARCHAR, vous devrez peut-être d’abord la convertir en date, consultez STR_TO_DATE
pour MySQL.
SELECT CONVERT(varchar(11),Getdate(),105)
Essayez http://www.sql-server-helper.com/tips/date-formats.aspx . Répertorie tous les formats nécessaires . Dans ce cas, sélectionnez Convertir (varchar (10), CONVERT (date, YourDateColumn, 106), 103) Changer 103 à 104