此SQL Server代码段中的引号是什么意思?(选择“第1列”、“第2列”)

此SQL Server代码段中的引号是什么意思?(选择“第1列”、“第2列”),sql,sql-server,syntax,Sql,Sql Server,Syntax,我想知道每一列前面两个单引号的目的。这在存储过程中。谢谢你的帮助 INSERT INTO #temptable1 SELECT DISTINCT '' column1 ,column2 ,'' column3 ,'' column4 FROM table1 WHERE column1 NOT LIKE 'string1%' AND column2 <> 'string2' AND column3 <> 'string3'

我想知道每一列前面两个单引号的目的。这在存储过程中。谢谢你的帮助

INSERT INTO #temptable1
SELECT DISTINCT '' column1
    ,column2
    ,'' column3
    ,'' column4     
FROM table1
WHERE column1 NOT LIKE 'string1%'
    AND column2 <> 'string2'
    AND column3 <> 'string3'
表达式是空字符串。因此,对于缺少的值,这是使用空字符串而不是NULL

我将编写以下代码:

SELECT DISTINCT '' as column1, column2, '' as column3, '' as column4
这可能会让事情变得更清楚。对于列别名,我总是使用as,因此更容易发现缺少的逗号。对于列别名,应该始终使用as

更常见的情况是,这可能只使用默认值,这些默认值通常为NULL,但可以是:

表达式是空字符串。因此,对于缺少的值,这是使用空字符串而不是NULL

我将编写以下代码:

SELECT DISTINCT '' as column1, column2, '' as column3, '' as column4
这可能会让事情变得更清楚。对于列别名,我总是使用as,因此更容易发现缺少的逗号。对于列别名,应该始终使用as

更常见的情况是,这可能只使用默认值,这些默认值通常为NULL,但可以是:


column1表示别名为column1的空字符串,使用NULL代替“”空字符串。Null不会占用任何内存列1表示别名为column1的空字符串使用Null INT代替“”空字符串。Null不会占用任何内存