Ini adalah urutan pelarian ODBC. Lihat Urutan Escape Tanggal, Waktu, dan Stempel Waktu untuk detail selengkapnya.
Ada juga sintaks serupa untuk pengidentifikasi unik
SELECT {guid '00000000-0000-0000-0000-000000000000'}
,
serta panggilan prosedur dan beberapa konstruksi lain yang dirinci dari tautan itu.
Berkenaan dengan sisa pertanyaan Anda, saya tidak mengetahui cara apa pun untuk memperlakukan literal integer sebagai bigint
atau sumber daya tertentu apa pun yang mencantumkan semua cara untuk memengaruhi bagaimana literal ditetapkan tipe datanya oleh SQL Server. Beberapa caranya ada di bawah ini.
;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
Kembali
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