은 주조 또는 VARCHAR에 날짜 시간을 변환하는 동안선택 날짜 2008
select * from table
을 할 수있는 방법이 있습니까?
이것은 쉬운 것처럼 보이지만 완전히 나를 고맙게 생각합니다.
은 주조 또는 VARCHAR에 날짜 시간을 변환하는 동안선택 날짜 2008
select * from table
을 할 수있는 방법이 있습니까?
이것은 쉬운 것처럼 보이지만 완전히 나를 고맙게 생각합니다.
당신은 단지에서 선택한 다음, 어쩌면 당신은 모든 변환이있는 뷰를 구축 할 수있는 다른 변환 스타일 http://msdn.microsoft.com/en-us/library/ms187928.aspx
이 참조 선택
SELECT CONVERT(VARCHAR(10), [MyDateTimecolumn], 20),...
에 열 이름을 지정해야합니다 기본 테이블 대신보기. 아니 내가 SELECT * 옹호하는거야 ...
당신도 뷰를 동적으로 카탈로그 뷰에서 만들 수 있습니다.
EDIT 샘플을 추가하여보기를 생성하면 원하는대로 작동합니다.
DECLARE @sql NVARCHAR(MAX) = N'CREATE VIEW dbo.View_table
AS
SELECT';
SELECT @sql = @sql + CHAR(13) + CHAR(10)
+ ' ' + QUOTENAME(name) + CASE
WHEN system_type_id IN (40,42,43,58,61)
THEN ' = CONVERT(VARCHAR(10), '
+ QUOTENAME(name) + ', 120),' ELSE ',' END
FROM sys.columns
WHERE [object_id] = OBJECT_ID('dbo.table');
SELECT @sql = LEFT(@sql, LEN(@sql)-1) + '
FROM dbo.table;';
PRINT @sql;
--EXEC sp_executesql @sql;
회원님이 약 TIME
데이터 형식을하고 싶은,하지만 같은 변환이 작동하지 않습니다 때문이 (그냥 1900-01-01
에 값을 변경됩니다) 포함되어 있지 있는지 확인하십시오.
오, 고마워요! .. 내가 잘못 생각한 것 같습니다. 테이블의 모든 열을 선택하고 datetime으로 실행할 때마다 자동으로 변환 할 수있는 방법이 있습니까? – jsullivan88
아니요, SQL Server에서 그렇게 할 방법이 없습니다. 물론 소비하는 응용 프로그램은 자유롭게 그 값을 전송할 수 있습니다 ... –