Đây là các chuỗi thoát ODBC. Xem Trình tự thoát ngày, giờ và dấu thời gian để biết thêm chi tiết.
Cũng có cú pháp tương tự cho mã số duy nhất
SELECT {guid '00000000-0000-0000-0000-000000000000'}
,
cũng như các lệnh gọi thủ tục và một số cấu trúc khác được nêu chi tiết từ liên kết đó.
Đối với phần còn lại của câu hỏi của bạn, tôi không biết bất kỳ cách nào để có một chữ số nguyên được coi là bigint
hoặc của bất kỳ tài nguyên cụ thể nào liệt kê tất cả các cách ảnh hưởng đến cách các ký tự được gán kiểu dữ liệu bởi SQL Server. Dưới đây là một số cách.
;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
Trả lại
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