有人可以向我解释什么是“文字价值”?

Dan*_*iel -2 sql-server terminology

我是 SQL Server 的新手,想知道“文字值”是什么意思。这是在这句话的上下文中:

请注意,您所做的只是为文字值声明三个变量,并在执行查询之前为它们分配值。

Mar*_*ith 5

文字是一个通用的编程术语。

此处使用 C# 定义

文字是值的源代码表示

在 TSQL 中讨论它们的 BOL 条目是Constants

下面是一些文字的例子。

在此处输入图片说明

SQL Server 从其内容推断文字的数据类型。一些例子是

+-----------------------------------------------+------------------+
|                   literal                     |     datatype     |
+-----------------------------------------------+------------------+
| 1                                             | int              |
| $1                                            | money            |
| 1e0                                           | float            |
| 1.0000                                        | numeric(5,4)     |
| 2147483648                                    | numeric(10,0)    |
| {ts '2011-09-15 01:23:56.123'}                | datetime         |
| {guid '00000000-0000-0000-0000-000000000000'} | uniqueidentifier |
| 'Foo'                                         | varchar(3)       |
| N'Foo'                                        | nvarchar(3)      |
+-----------------------------------------------+------------------+
Run Code Online (Sandbox Code Playgroud)

对于变量(而不是常量)的查询中的值,参数化优先于创建包含文字值的新查询。出于安全原因(SQL 注入)和避免编译和缓存一次性计划。