>Domanda forse banale, è possibile cambiare il tipo dati di una
>colonna in una vista?
>Mi spiego meglio, ho una tabella da cui pesco i dati (INIZIO)
>per la vista con un campo datetime, se però lo inserisco nella
>vista come CONVERT (NVARCHAR(5),INIZIO, 108) mi rimane datetime,
>invece mi aspetterei diventasse nvarchar...
Ciao,
Come fai a verificare il data type della colonna?
USE tempdb;
CREATE TABLE dbo.foo(
c1 datetime NOT NULL
);
INSERT dbo.foo VALUES(CURRENT_TIMESTAMP);
GO
CREATE VIEW dbo.v_foo
AS
SELECT CONVERT(varchar(5), c1, 108) AS c2
FROM dbo.foo;
GO
SELECT *
FROM dbo.v_foo;
/* Output:
c2
-----
10:31
(1 row(s) affected)
*/
SELECT c.name, t.name
FROM sys.columns AS c
JOIN sys.types AS t
ON c.user_type_id = t.user_type_id
WHERE c.object_id = OBJECT_ID(N'dbo.v_foo');
/* Output:
name name
----- ---------
c2 varchar
(1 row(s) affected)
*/
DROP VIEW dbo.v_foo;
DROP TABLE dbo.foo;
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org