web-dev-qa-db-fra.com

Requête SQL - Changer le format de date dans la requête en JJ/MM/AAAA

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,

13
user2069217

Si DB est SQL Server then

select Convert(varchar(10),CONVERT(date,YourDateColumn,106),103)
27
Romesh

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
6
huMpty duMpty

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.

3
contradictioned
SELECT CONVERT(varchar(11),Getdate(),105)
2
Alfaiz Ahmed

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

0
tichra