wie man das date in ein Format "mm / dd / yyyy" umwandelt

Ich habe eine sql table mit date Spalte mit dem Namen CREATED_TS , die die Termine in verschiedenen Format zB hält. Wie nachfolgend dargestellt

 Feb 20 2012 12:00AM 11/29/12 8:20:53 PM Feb 20 2012 12:00AM 11/29/12 8:20:53 PM Feb 20 2012 12:00AM 11/29/12 8:20:53 PM Nov 16 2011 12:00AM Feb 20 2012 12:00AM 11/29/12 8:20:52 PM 

Jetzt möchte ich diese in das Format mm\dd\yyyy bevor ich die data in WHERE Klausel meiner SELECT Abfrage mm\dd\yyyy .

Ich habe versucht zu verwenden

 CONVERT(VARCHAR(10),CREATED_TS,101) 

bekam aber das Ergebnis,

 Feb 20 201 11/29/12 Feb 20 201 11/29/12 Feb 20 201 11/29/12 Nov 16 201 Feb 20 201 11/29/12 

Ich brauche das Ergebnis wie zB. 02/20/2012 um zu vergleichen.

Jede Hilfe wird geschätzt.

Da deine data schon in varchar sind, musst du sie zuerst in das date umwandeln:

 select convert(varchar(10), cast(ts as date), 111) from <your table> 

Verwenden Sie CONVERT mit dem Value Spezifizierer von 101 , während Sie Ihre data date CONVERT :

 CONVERT(VARCHAR(10), CAST(Created_TS AS DATE), 101) 

Suchst du so etwas?

 SELECT CASE WHEN LEFT(created_ts, 1) LIKE '[0-9]' THEN CONVERT(VARCHAR(10), CONVERT(datetime, created_ts, 1), 101) ELSE CONVERT(VARCHAR(10), CONVERT(datetime, created_ts, 109), 101) END created_ts FROM table1 

Ausgabe:

 |  CREATED_TS |
 | ------------
 |  02/20/2012 |
 |  11/29/2012 |
 |  02/20/2012 |
 |  11/29/2012 |
 |  02/20/2012 |
 |  11/29/2012 |
 |  16.11.2011 |
 |  02/20/2012 |
 |  11/29/2012 |

Hier ist SQLFiddle Demo