标签: sql-server

如何从SQL Server中的SELECT更新?

SQL Server中,可以insert使用SELECT语句进入表:

INSERT INTO Table (col1, col2, col3)
SELECT col1, col2, col3 
FROM other_table 
WHERE sql = 'cool'
Run Code Online (Sandbox Code Playgroud)

是否也可以通过?更新SELECT?我有一个包含值的临时表,并希望使用这些值更新另一个表.也许是这样的:

UPDATE Table SET col1, col2
SELECT col1, col2 
FROM other_table 
WHERE sql = 'cool'
WHERE Table.id = other_table.id
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server select

3546
推荐指数
31
解决办法
409万
查看次数

2648
推荐指数
39
解决办法
273万
查看次数

如何将多行中的文本连接成SQL Server中的单个文本字符串?

考虑一个包含三个行的名称的数据库表:

Peter
Paul
Mary
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以将其转换为单个字符串Peter, Paul, Mary

sql sql-server csv string-concatenation group-concat

1813
推荐指数
33
解决办法
222万
查看次数

如何检查SQL Server表中是否存在列?

如果不存在,我需要添加一个特定的列.我有类似以下内容,但它总是返回false:

IF EXISTS(SELECT *
          FROM   INFORMATION_SCHEMA.COLUMNS
          WHERE  TABLE_NAME = 'myTableName'
                 AND COLUMN_NAME = 'myColumnName') 
Run Code Online (Sandbox Code Playgroud)

如何检查SQL Server数据库的表中是否存在列?

t-sql sql-server sql-server-2008 sql-server-2012 sql-server-2016

1792
推荐指数
24
解决办法
115万
查看次数

如何仅从SQL Server DateTime数据类型返回日期

SELECT GETDATE()
Run Code Online (Sandbox Code Playgroud)

返回: 2008-09-22 15:24:13.790

我希望那个日期部分没有时间部分: 2008-09-22 00:00:00.000

我怎么能得到它?

sql t-sql sql-server datetime date

1692
推荐指数
32
解决办法
266万
查看次数

在单个SQL查询中插入多行?

我有一组数据要一次插入,比如4行.

我的表有三列:Person,IdOffice.

INSERT INTO MyTable VALUES ("John", 123, "Lloyds Office");
INSERT INTO MyTable VALUES ("Jane", 124, "Lloyds Office");
INSERT INTO MyTable VALUES ("Billy", 125, "London Office");
INSERT INTO MyTable VALUES ("Miranda", 126, "Bristol Office");
Run Code Online (Sandbox Code Playgroud)

我可以Person在一个单独的所有4行Id

sql t-sql sql-server insert

1604
推荐指数
4
解决办法
252万
查看次数

将存储过程的结果插入临时表

我该怎么办SELECT * INTO [temp table] FROM [stored procedure]?不FROM [Table],没有定义[temp table]

Select所有数据都可以BusinessLine正常tmpBusLine工作.

select *
into tmpBusLine
from BusinessLine
Run Code Online (Sandbox Code Playgroud)

我尝试相同,但使用stored procedure返回数据,并不完全相同.

select *
into tmpBusLine
from
exec getBusinessLineHistory '16 Mar 2009'
Run Code Online (Sandbox Code Playgroud)

输出消息:

消息156,级别15,状态1,行2关键字'exec'附近的语法不正确.

我已经阅读了几个创建一个与输出存储过程结构相同的临时表的例子,它工作正常,但不提供任何列会很好.

sql t-sql sql-server stored-procedures sql-server-2005

1526
推荐指数
24
解决办法
189万
查看次数

1514
推荐指数
12
解决办法
146万
查看次数

如何在SQL SELECT中执行IF ... THEN?

我如何IF...THENSQL SELECT声明中执行?

例如:

SELECT IF(Obsolete = 'N' OR InStock = 'Y' ? 1 : 0) AS Saleable, * FROM Product
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server if-statement case

1438
推荐指数
26
解决办法
353万
查看次数

表命名困境:奇异与多个名称

学术界认为表名应该是他们存储属性的实体的单数.

我不喜欢任何需要在名称周围使用方括号的T-SQL,但我已经将Users表重命名为单数,永远判断那些使用表的人有时必须使用括号.

我的直觉是,保持单数是更正确的,但我的直觉也是括号表示不受欢迎的人,如列名,其中有空格等.

我应该走还是留?

sql sql-server naming-conventions

1404
推荐指数
33
解决办法
37万
查看次数