sql >> Databáze >  >> RDS >> Sqlserver

Složené závorky v T-SQL

Toto jsou sekvence escape ODBC. Další podrobnosti naleznete v části Escape Sequence pro datum, čas a časové razítko.

Podobná syntaxe existuje také pro jedinečné identifikátory

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

stejně jako volání procedur a některé další konstrukce podrobně popsané na tomto odkazu.

Pokud jde o zbytek vaší otázky, nejsem si vědom žádného způsobu, jak mít celočíselný literál považován za bigint nebo jakéhokoli konkrétního zdroje, který uvádí všechny způsoby ovlivnění toho, jak jsou literály přiřazovány datovým typům SQL Serverem. Některé způsoby jsou uvedeny níže.

;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

Vrátí

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



  1. Rozdělení hodnot oddělených čárkami ve sloupcích do více řádků na serveru SQL Server

  2. Jak mohu změnit kódování databáze pro databázi PostgreSQL pomocí sql nebo phpPgAdmin?

  3. Přírůstek identity skáče v databázi SQL Server

  4. Jak přidat počet dní v postgresql datetime