Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Chaves em T-SQL


Estas são sequências de escape ODBC. Consulte Sequências de escape de data, hora e carimbo de data/hora para obter mais detalhes.

Há também uma sintaxe semelhante para identificadores exclusivos

SELECT {guid '00000000-0000-0000-0000-000000000000'} ,

bem como chamadas de procedimento e algumas outras construções detalhadas desse link.

Com relação ao resto da sua pergunta, não conheço nenhuma maneira de ter um literal inteiro tratado como um bigint ou de qualquer recurso específico que liste todas as maneiras de influenciar como os literais são atribuídos a tipos de dados pelo SQL Server. Algumas maneiras estão abaixo.
;WITH cte(thing) AS
(
SELECT CAST(1 AS SQL_VARIANT) UNION ALL
SELECT $1 UNION ALL
SELECT 1e0 UNION ALL
SELECT 1.0000 UNION ALL
SELECT 2147483648 UNION ALL 
SELECT {ts '2011-09-15 01:23:56.123'}  UNION ALL
SELECT {d '2011-09-15'} UNION ALL
SELECT { t '13:33:41' }  UNION ALL
SELECT {guid '00000000-0000-0000-0000-000000000000'} UNION ALL
SELECT 'Foo' UNION ALL
SELECT N'Foo'
)
SELECT thing, 
       sql_variant_property(thing,'basetype') AS basetype,
       sql_variant_property(thing,'precision') AS precision, 
       sql_variant_property(thing,'scale') AS scale, 
       sql_variant_property(thing,'maxlength') AS maxlength
FROM cte

Devoluções
thing                          basetype            precision   scale  maxlength
------------------------------ ------------------- ----------- ------ ---------
1                              int                 10          0      4
1.00                           money               19          4      8
1                              float               53          0      8
1.0000                         numeric             5           4      5
2147483648                     numeric             10          0      5
2011-09-15 01:23:56.123        datetime            23          3      8
2011-09-15 00:00:00.000        datetime            23          3      8
2011-09-15 13:33:41.000        datetime            23          3      8
00000000-0000-0000-0000-000000 uniqueidentifier    0           0      16
Foo                            varchar             0           0      3
Foo                            nvarchar            0           0      6