Questions tagged «sql-server»

Microsoft SQL Server是一个关系数据库管理系统(RDBMS)。将此标签用于所有SQL Server版本,包括Compact,Express,Azure,Fast-track,APS(以前称为PDW)和Azure SQL DW。请勿将此标签用于其他类型的DBMS(MySQL,PostgreSQL,Oracle等)。除非该标签与数据库直接相关,否则请勿将其用于软件和移动开发问题。



15
多部分标识符无法绑定
我在SO上看到过类似的错误,但是我没有找到解决问题的方法。我有一个SQL查询,如: SELECT DISTINCT a.maxa , b.mahuyen , a.tenxa , b.tenhuyen , ISNULL(dkcd.tong, 0) AS tongdkcd FROM phuongxa a , quanhuyen b LEFT OUTER JOIN ( SELECT maxa , COUNT(*) AS tong FROM khaosat WHERE CONVERT(DATETIME, ngaylap, 103) BETWEEN 'Sep 1 2011' AND 'Sep 5 2011' GROUP BY maxa ) AS …



14
如何在不知道其名称的情况下删除SQL默认约束?
在Microsoft SQL Server中,我知道用于检查列是否存在默认约束并删除默认约束的查询是: IF EXISTS(SELECT * FROM sysconstraints WHERE id=OBJECT_ID('SomeTable') AND COL_NAME(id,colid)='ColName' AND OBJECTPROPERTY(constid, 'IsDefaultCnst')=1) ALTER TABLE SomeTable DROP CONSTRAINT DF_SomeTable_ColName 但是由于数据库的早期版本中有错字,约束的名称可能是DF_SomeTable_ColName或DF_SmoeTable_ColName。 如何删除没有任何SQL错误的默认约束?默认约束名称未显示在INFORMATION_SCHEMA表中,这使操作变得有些棘手。 因此,类似于“删除此表/列中的默认约束”或“删除DF_SmoeTable_ColName”之类的东西,但是如果找不到它,则不要给出任何错误。
196 sql  sql-server  tsql 

12
sql查询返回两个表之间的差异
我试图比较两个表,SQL Server,以验证一些数据。我想返回两个表中的所有行,其中数据在一个或另一个中。本质上,我想展示所有差异。为此,我需要检查三个数据,名字,姓氏和产品。 我对SQL还是相当陌生,似乎我发现的许多解决方案都过于复杂。我不必担心NULL。 我首先尝试这样的事情: SELECT DISTINCT [First Name], [Last Name], [Product Name] FROM [Temp Test Data] WHERE ([First Name] NOT IN (SELECT [First Name] FROM [Real Data])) 不过,我无法继续进行此操作。 谢谢! 编辑: 根据@treaschf的回答,我一直在尝试使用以下查询的变体: SELECT td.[First Name], td.[Last Name], td.[Product Name] FROM [Temp Test Data] td FULL OUTER JOIN [Data] AS d ON …


5
在SQL Server上使用varchar(MAX)vs TEXT
我刚刚读到,该VARCHAR(MAX)数据类型(可以存储将近2GB的char数据)是TEXTSQL Server 2005和Next SQL SERVER版本中推荐的数据类型的替代。 如果我想在列内搜索任何字符串,哪个操作更快? LIKE对VARCHAR(MAX)列使用子句? WHERE COL1 LIKE '%search string%' 使用该TEXT列并将全文索引 / 目录放在此列上,然后使用该CONTAINS子句进行搜索? WHERE CONTAINS (Col1, 'MyToken')

12
将数据插入临时表
创建了临时表并声明数据类型后,就这样; CREATE TABLE #TempTable( ID int, Date datetime, Name char(20)) 然后,如何插入数据库中物理表上已经保存的相关数据?

15
如何删除SQL Server数据库中的所有表?
我正在尝试编写一个脚本,该脚本将完全清空SQL Server数据库。这是我到目前为止的内容: USE [dbname] GO EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all' EXEC sp_msforeachtable 'DELETE ?' 在Management Studio中运行它时,我得到: 命令已成功完成。 但是当我刷新表格列表时,它们仍然存在。我究竟做错了什么?

18
截断(不舍入)SQL Server中的小数位
我试图确定截断或删除SQL中多余的小数位而不舍入的最佳方法。例如: declare @value decimal(18,2) set @value = 123.456 这将自动舍@value入为123.46,这在大多数情况下很好。但是,对于这个项目,我不需要。有没有一种简单的方法可以截断我不需要的小数?我知道我可以使用该left()函数并将其转换回十进制。还有其他方法吗?
194 sql  sql-server  tsql  rounding 


10
将主键添加到现有表
我有一个名为的现有表Persion。在此表中,我有5列: persionId 名称 PMid 说明 帕姆特 当我创造了这个表,我设置PersionId和Pname作为主键。 我现在想在主键-PMID中再增加一列。我该如何写ALTER声明来做到这一点?(表中已经有1000条记录)


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.