Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Nawiasy klamrowe w T-SQL

Są to sekwencje specjalne ODBC. Zobacz sekwencje ucieczki daty, godziny i znacznika czasu, aby uzyskać więcej informacji.

Istnieje również podobna składnia dla unikalnych identyfikatorów

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

a także wywołania procedur i kilka innych konstrukcji wyszczególnionych w tym łączu.

Jeśli chodzi o resztę twojego pytania, nie znam żadnego sposobu, aby literał całkowity był traktowany jako bigint lub dowolnego konkretnego zasobu, który zawiera listę wszystkich sposobów wpływania na to, jak literały są przypisywane do typów danych przez SQL Server. Niektóre sposoby są poniżej.

;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

Zwroty

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sekwencja wykonania klauzuli Group By, Having i Where w SQL Server?

  2. Użyj TYPEPROPERTY(), aby zwrócić informacje o typie danych w SQL Server

  3. Jak przekazać parametry wartości tabeli do procedury składowanej z kodu .net?

  4. Zmień separator na przecinek podczas wysyłania wyników zapytania pocztą e-mail w programie SQL Server (T-SQL)

  5. Wyłącz konto SA w SQL Server (przykład T-SQL)