У меня есть столбец из datetime
.
Я хочу, чтобы отделить дату и время, на которое я использовал left()
& right()
обнесен cast()
или convert()
, как показано ниже:CAST() ИЛИ CONVERT() не меняет формат даты и времени на строку в SQL Server 2008
Select BATCH,
LEFT(CAST(S_DATE AS VARCHAR(20)),12) AS ST_DATE,
RIGHT(CAST(S_DATE AS VARCHAR(20)),8) AS ST_TIME,
LEFT(CAST(E_DATE AS VARCHAR(20)),12) AS E_DATE,
RIGHT(CAST(E_DATE AS VARCHAR(20)),8) AS E_TIME
INTO CRYST2
From Z_BATCH;
это мой фактический формат для datetime
колонки: -
2015-10-01 14:00:00.000
Но проблема заключается в том, что он точно определяет дату и время, но не возвращает результат в форме строки, так как сам вывод обращается к дате & в формате времени соответственно в их соответствующие столбцы. Ниже выходной я получаю: -
1 Oct 1 2015 2:00PM Oct 1 2015 2:30PM
Как вы можете ясно видеть столбцы я отделенные после даты-времени для преобразования строки по-прежнему дает мне выход только в некоторых дата-время формат. прошу помочь.
Не отбрасывать в datetime в varchar. Вместо этого используйте dateadd и датифик, чтобы получить полночь даты или когда-либо датировать, чтобы получить разные части даты. –
@ ZoharPeled, вы хотите сказать, что первая отдельная дата-часть из формата даты-времени? означает отдельный год, месяц и дату отдельно, а затем объединить их? – prateek
OKI GOT IT !! CONVERT (дата, S_DATE), CONVERT (TIME, S_DATE) IT дала желаемый output.thanx все !! – prateek