标签: sql-server

功能与存储过程

假设我必须实现一段必须返回表的T-SQL代码.我可以实现一个表值函数或一个返回一组行的存储过程.我该怎么用?

简而言之,我想知道的是:

哪些是函数和存储过程之间的主要区别?使用其中一个时需要考虑哪些因素?

sql database sql-server stored-procedures function

87
推荐指数
7
解决办法
4万
查看次数

VarBinary与Image SQL Server数据类型存储二进制数据?

我需要将二进制文件存储到SQL Server数据库.Varbinary和Image中哪种数据类型更好?

sql-server

87
推荐指数
4
解决办法
12万
查看次数

SQL Server表创建日期查询

如何使用SQL查询获取MS SQL表的表创建日期?
我在物理上看不到任何表,但我可以查询该特定表.

sql t-sql sql-server sql-server-2005

87
推荐指数
5
解决办法
15万
查看次数

从SQL Server中的周数获取周开始日期和周结束日期

我有一个查询计算会员在数据库中的结婚日期...

Select 
  Sum(NumberOfBrides) As [Wedding Count], 
  DATEPART( wk, WeddingDate) as [Week Number],
  DATEPART( year, WeddingDate) as [Year]
FROM  MemberWeddingDates
Group By DATEPART( year, WeddingDate), DATEPART( wk, WeddingDate)
Order By Sum(NumberOfBrides) Desc
Run Code Online (Sandbox Code Playgroud)

如何在结果集中表示每周的开始和结束时计算出来?

Select 
      Sum(NumberOfBrides) As [Wedding Count], 
      DATEPART( wk, WeddingDate) as [Week Number],
      DATEPART( year, WeddingDate) as [Year],
      ??? as WeekStart,
      ??? as WeekEnd

    FROM  MemberWeddingDates
    Group By DATEPART( year, WeddingDate), DATEPART( wk, WeddingDate)
    Order By Sum(NumberOfBrides) Desc
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2005 date week-number

87
推荐指数
3
解决办法
25万
查看次数

用于创建新用户的SQL Server脚本

我想编写一个脚本来在SQL Server Express中创建admin用户(带abcd密码).另外,我想为此用户分配admin完整权限.

sql database sql-server

87
推荐指数
4
解决办法
19万
查看次数

varbinary到SQL Server上的字符串

如何将列值从转换varbinary(max)varchar人类可读的形式?

sql t-sql sql-server sql-server-2005

87
推荐指数
5
解决办法
22万
查看次数

SQL Server链接服务器示例查询

在Management Studio中,我正在尝试运行查询/在两个链接的服务器之间进行连接.这是使用链接数据库服务器的正确语法:

select foo.id 
from databaseserver1.db1.table1 foo, 
     databaseserver2.db1.table1 bar 
where foo.name=bar.name
Run Code Online (Sandbox Code Playgroud)

基本上,您是否只将db服务器名称添加到db.table?

sql-server linked-server

87
推荐指数
7
解决办法
46万
查看次数

我可以将列从NOT NULL更改为NULL而不删除它吗?

需要更改表以允许列上的空值 - 但不能删除列...我可以这样做吗?正在尝试这样的事情:

ALTER TABLE myTable MODIFY myColumn NULL;
Run Code Online (Sandbox Code Playgroud)

但无济于事....

sql-server

87
推荐指数
2
解决办法
14万
查看次数

varchar(max)变量的最大大小

在过去的任何时候,如果有人问我a的最大尺寸varchar(max),我会说2GB,或者查找一个更确切的数字(2 ^ 31-1,或2147483647).

但是,在最近的一些测试中,我发现varchar(max)变量显然超过了这个大小:

create table T (
    Val1 varchar(max) not null
)
go
declare @KMsg varchar(max) = REPLICATE('a',1024);
declare @MMsg varchar(max) = REPLICATE(@KMsg,1024);
declare @GMsg varchar(max) = REPLICATE(@MMsg,1024);
declare @GGMMsg varchar(max) = @GMsg + @GMsg + @MMsg;
select LEN(@GGMMsg)
insert into T(Val1) select @GGMMsg
select LEN(Val1) from T
Run Code Online (Sandbox Code Playgroud)

结果:

(no column name)
2148532224
(1 row(s) affected)
Msg 7119, Level 16, State 1, Line 6
Attempting to grow LOB beyond maximum allowed size of …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server

87
推荐指数
2
解决办法
25万
查看次数

如何在多列中找到重复项?

所以我想做下面的sql代码:

select s.id, s.name,s.city 
from stuff s
group by s.name having count(where city and name are identical) > 1
Run Code Online (Sandbox Code Playgroud)

要产生以下内容,(但忽略只有名称或仅匹配城市的地方,它必须在两列上):

id      name  city   
904834  jim   London  
904835  jim   London  
90145   Fred  Paris   
90132   Fred  Paris
90133   Fred  Paris
Run Code Online (Sandbox Code Playgroud)

sql sql-server sql-server-2008

87
推荐指数
6
解决办法
13万
查看次数