Nie rób tego! Nie używaj ciągów zamiast dat i nie używaj formatu daty lub daty i godziny specyficznego dla kultury, to przepis na katastrofę.
SQL Server nie ma „formatu daty”, tylko formaty używane do konwersji dat na i z ciągów. Jednym z nich jest domyślny, kontrolowany przez sortowanie serwera. Nie możesz ani zakładać, ani polegać na określonym zestawieniu, dlatego powinieneś unikać konwersji, gdy tylko jest to możliwe. Co więcej, przekazanie wartości ciągu może uniemożliwić SQL Server używanie indeksów w kolumnach dat, ponieważ musiałby przekonwertować ciąg na podstawowy typ kolumny.
O wiele łatwiej i bezpieczniej jest przekazywać daty jako zmienne lub parametry typu data. W ten sposób unikniesz całego bałaganu związanego z konwersją, do iz powrotem oraz unikniesz ataków typu SQL injection.
Nie ma powodu, aby przekazywać do serwera ciągi znaków zamiast dat. Wszyscy klienci SQL Server (w tym ADO.NET) umożliwiają wykonywanie zapytań parametrycznych. ORM, takie jak NHibernate i Entity Framework, również generują sparametryzowane zapytania dla kolumn o typie daty.
Zawsze, gdy musisz utworzyć literał ciągu, użyj jednego z niezmiennych formatów, takich jak 20140913
lub 2012-11-07T18:26:20
Więcej na ten temat możesz przeczytać na Pisanie międzynarodowych instrukcji T-SQL