sql-server - operador - tipos de funciones en sql server
Tipo de datos no deterministas en SQL Server (1)
Si lee detenidamente esta documentación de MSDN , encontrará:
IsDeterministic: la columna es determinista. Esta propiedad se aplica solo a columnas calculadas y columnas de vista.
Se aplica a columnas (computadas, vistas) derivadas de otras columnas con funciones no deterministas involucradas.
Ejemplos:
CREATE TABLE Deterministic
(
ID int,
Calculated AS SYSDATETIME()
)
SELECT COLUMNPROPERTY(OBJECT_ID(''Deterministic''), ''Calculated'', ''IsDeterministic'') IsDeterministic
--Returns 0
Si crea una vista en esta tabla de la siguiente manera y ejecuta la siguiente consulta
CREATE VIEW vDeterministic AS
SELECT ID, Calculated, DATEADD(D, 1, Calculated) Tomorrow
FROM Deterministic
GO
SELECT ''Calculated'' ColumnName,
COLUMNPROPERTY(OBJECT_ID(''vDeterministic''), ''Calculated'', ''IsDeterministic'') IsDeterministic
UNION ALL
SELECT ''Tomorrow'',
COLUMNPROPERTY(OBJECT_ID(''vDeterministic''), ''Tomorrow'', ''IsDeterministic'')
También recibe columnas no deterministas
ColumnName IsDeterministic
---------- ---------------
Calculated 0
Tomorrow 0
Estaba creando una tabla en mi base de datos de SQL Server cuando un atributo específico Deterministic
de las columnas de la base de datos me llamó la atención. Por favor, mira la captura de pantalla a continuación:
Ya conozco las funciones de SQL Server deterministas y no deterministas, pero quiero saber si esto se aplica incluso a los tipos de datos de datos en SQL Server de alguna manera.
La razón por la que estoy preguntando es que literalmente escaneé todos los tipos de datos disponibles en SQl Server v2008 y v2012, pero el valor del campo Deterministic
mostró Yes
para todos ellos. No mostró No
para ningún tipo de datos.
Así que mi pregunta es que es un atributo adecuado de cualquier tipo de datos en SQL Server que aún afecta la forma en que los valores están almacenados en la columna o es solo un legado del pasado, puede ser de SQL Server 2000 o SQL Server 2005 donde hay Solía haber algunos tipos de datos que no eran de naturaleza determinista. Cualquier información será muy útil para comprender esta característica de los tipos de datos en SQL Server. ¿Tenemos algún tipo de datos en SQL Server a partir de hoy que sea de naturaleza no determinista?
Como no vi No
por ninguno de los tipos de datos, me confundí más. También busqué en Google en gran medida, pero cada búsqueda me lleva a las funciones de SQL Server determinístico y no determinista, como la que se muestra a continuación, y nadie habla de Non-deterministic
características Non-deterministic
relacionadas con los tipos de datos de SQL Server.
https://technet.microsoft.com/en-us/library/ms178091(v=sql.110).aspx