Kiedy wybieram datę w SQL, jest ona zwracana jako 2011-02-25 21:17:33.933
. Ale potrzebuję tylko części Data 2011-02-25
. W jaki sposób mogę to zrobić?
sql
sql-server
sql-server-2005
Neeraj
źródło
źródło
Odpowiedzi:
Chyba chce sznurka.
120 tu mówi funkcję konwersji, które przekroczyły datę wejścia w następującym formacie :
yyyy-mm-dd hh:mi:ss
.źródło
W przypadku SQL Server 2008:
Zapoznaj się z https://docs.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql
źródło
DATE
jest nowy w 2008 roku.date
danych, dlatego renderowanie tego rozwiązania jest nieprawidłowe.Najszybszy jest
datediff
npAle jeśli potrzebujesz tylko użyć wartości, możesz pominąć dateadd, np
gdzie wyrażenie
datediff(d, 0, getdate())
jest wystarczające, aby zwrócić dzisiejszą datę bez części czasu.źródło
Użyj CAST (GETDATE () jako daty), który zadziałał dla mnie, proste.
źródło
CAST(order_date AS DATE)
http://www.bennadel.com/blog/122-Getting-Only-the-Date-Part-of-a-Date-Time-Stamp-in-SQL-Server.htm
źródło
możesz użyć w ten sposób
źródło
W przypadku starszej wersji 2008 :
SELECT DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)
źródło
Jest trochę późno, ale użyj funkcji „curdate” ODBC (nawiasy kątowe „fn” to sekwencja ucieczki funkcji ODBC).
Wynik:
2013-02-01
źródło
SELECT {fn curdate()} FROM (SELECT 1) AS T(X)
i spojrzysz na rzeczywisty plan wykonania (wersja xml), zobaczysz, że to, co jest faktycznie wykonane, jestCONVERT(varchar(10),getdate(),23)
. Tak typ danych tej funkcji ODBC jestvarchar(10)
co oznacza, że jeśli chcesz porównać wynik zdatetime
dostaniesz niejawna konwersja zvarchar(10)
celudatetime
na sznurkuyyyy-mm-dd
. Ta niejawna konwersja zakończy się niepowodzeniemset dateformat dmy
.Możesz też spróbować tego.
źródło
Konwertuj go z powrotem na datę i godzinę po konwersji na datę, aby w razie potrzeby zachować ten sam czas
źródło
Jeśli potrzebujesz czasu na zera, takie jak
2018-01-17 00:00:00.000
:SELECT CONVERT(DATETIME, CONVERT(DATE, GETDATE()), 121)
źródło
Użycie jest proste:
Przykład poniżej:
Stół:
źródło
Jest już za późno, ale obserwowanie mnie zadziałało
Gdy typem danych jest data, godziny zostaną obcięte
źródło
W PLSQL możesz używać
źródło
Najpierw przekonwertuj datę na liczbę zmiennoprzecinkową (która wyświetla wartość liczbową), następnie
ROUND
liczbę na 0 miejsc po przecinku, a następnie przekonwertuj ją na datę i godzinę .źródło
Jeśli chcesz zwrócić typ daty, wystarczy użyć daty
lub
lub
źródło
Spróbuj tego.
źródło