2013-08-01 2 views
0

Я использую SQL Server 2008 Management Studio. У меня есть столбец datetime в моей таблице.DATETIME SQL Query

Когда я выбираю все содержимое таблицы, столбец даты имеет такие данные, как 10/10/2013 12:00:00 AM.

Мне нужен запрос для отображения всего содержимого из таблицы с данными столбца даты как 10/10/2013.

+3

В нужной продукции, является то, что 10 октября или 10 октября? (Лучше дать примерный результат, где день и месяц имеют разные значения, и вы четко указываете, в каком направлении они находятся) –

+1

Если вам нужна только часть даты - вместо этого используйте тип данных DATE' –

+0

Что вы пробовали? так далеко? – Romesh

ответ

0

Вы можете использовать FORMAT() функцию:

SELECT FORMAT(<your_column>, 'MM/dd/YYYY') FROM <your_table>; 
+1

Нет, он не может, 'FORMAT' представлен в SQL Server 2012. Также правильным кодом будет' 'MM/dd/yyyy'' - он чувствителен к регистру. –

+0

'FORMAT' доступен только в SQL Server ** 2012 **! –

0

Это поможет вам

cast(floor(cast(@dateVariable as float)) as datetime) 
+0

Это будет включать компонент времени, когда студия управления применяет свое стандартное форматирование. Компонент времени в приведенном примере уже полночь. –

5

Попробуйте это (2008 и выше) -

SELECT CAST('10/10/2013 12:00:00 AM' AS DATE) 

За 2005 -

SELECT CAST('10/10/2013 12:00:00 AM' AS VARCHAR(10)) 

Выход -

10/10/2013 
+0

Как это использовать при выборе * из [таблицы] запроса? –

+0

При выполнении вышеуказанного запроса я получил следующую ошибку: Тип DATE не является определенным типом системы. –

+0

@savankuppast это связано с тем, что тип данных DATE отсутствует в SQL Server 2005 и ранее, был представлен в 2008 году –

0

Использование CONVERT функции наряду со стилями для DATETIME вы можете выбрать способ отображения даты. 101 даст вам mm/dd/yyyy, 103 = dd/mm/yyyy

SELECT CONVERT(NVARCHAR(20),your_datetime_col, 103) FROM your_table 

SQLFiddle DEMO

5
SELECT CONVERT(VARCHAR(10), column, 101) -- u.s standard format mm/dd/yyyy 
SELECT CONVERT(VARCHAR(10), column, 103) -- British/French standard format dd/mm/yyyy 
+0

гораздо лучший ответ по-моему .. – MethodMan

+0

+1 - согласен с @DJ KRAZE – Devart

0

Для вашего вопроса я был создан один стол, как

create table dateverify(date_v varchar(20)); 

Поставлен одиночное значение колонке

declare @a varchar(20); 
     set @a='10/10/2013'; 
    begin 
     insert into dateverify(date_v) values(@a); 
    end; 

используя ниже запроса,

SELECT CONVERT(VARCHAR(20), date_v , 103) AS [DD/MM/YYYY] from dateverify; 

получил ответ, как вы asked..10/10/2013