假设我有以下简单的表变量:
declare @databases table
(
DatabaseID int,
Name varchar(15),
Server varchar(15)
)
-- insert a bunch rows into @databases
Run Code Online (Sandbox Code Playgroud)
如果我想遍历行,是声明和使用游标我唯一的选择吗?还有另外一种方法吗?
当我得到不同的记录计数时,出现了这个问题,我认为是使用not in where约束的相同查询,另一个是a left join.not in约束中的表有一个空值(坏数据),导致该查询返回0个记录的计数.我有点理解为什么,但我可以使用一些帮助来完全理解这个概念.
简单地说,为什么查询A返回结果但B不返回?
A: select 'true' where 3 in (1, 2, 3, null)
B: select 'true' where 3 not in (1, 2, null)
Run Code Online (Sandbox Code Playgroud)
这是在SQL Server 2005上.我还发现调用set ansi_nulls off导致B返回结果.
我正在我的学校使用一个小型网络应用程序的数据库SQL Server 2005.
我在varcharvs 的问题上看到了几个思想流派nvarchar:
varchar除非你处理了很多国际化的数据,然后使用nvarchar.nvarchar用于一切.我开始看到视图2的优点.我知道nvarchar确实占用了两倍的空间,但这不一定是一个大问题,因为这只是为几百名学生存储数据.对我而言,似乎最简单的是不要担心它并且只允许一切使用nvarchar.还是有什么我想念的?
我正在运行data.bat文件,其中包含以下行:
Rem Tis batch file will populate tables
cd\program files\Microsoft SQL Server\MSSQL
osql -U sa -P Password -d MyBusiness -i c:\data.sql
Run Code Online (Sandbox Code Playgroud)
data.sql文件的内容是:
insert Customers
(CustomerID, CompanyName, Phone)
Values('101','Southwinds','19126602729')
Run Code Online (Sandbox Code Playgroud)
还有8个类似的行用于添加记录.
当我跑这跟start> run> cmd> c:\data.bat,我收到此错误信息:
1>2>3>4>5>....<1 row affected>
Msg 8152, Level 16, State 4, Server SP1001, Line 1
string or binary data would be truncated.
<1 row affected>
<1 row affected>
<1 row affected>
<1 row affected>
<1 row affected>
<1 row affected>
Run Code Online (Sandbox Code Playgroud)
此外,我显然是一个新手,但是做什么Level #,并且 …
我有一根绳子,@mainString = 'CATCH ME IF YOU CAN'.我想检查这个词是否在ME里面@mainString.
如何在SQL中检查字符串是否具有特定的子字符串?
作为标题,我有一个已经填充150000条记录的现有表.我添加了一个Id列(当前为null).
我假设我可以运行查询以使用增量数填充此列,然后设置为主键并启用自动增量.这是正确的方法吗?如果是这样,我如何填写初始数字?
如何使用SQL Server 2008返回表的列名?即一个表包含这些列 - id,name,address,country,我想将这些作为数据返回.
我有一个长度为6的SQL列.现在只想获取该列的第一个字符.SQL中是否有任何字符串函数可以执行此操作?
我使用RedGate SQL数据比较并生成.sql文件,因此我可以在本地计算机上运行它.但问题是该文件超过300mb,这意味着我无法复制和粘贴,因为剪贴板将无法处理它,当我尝试在SQL Server Management Studio中打开该文件时,我收到错误关于文件太大了.
有没有办法运行一个大的.sql文件?该文件基本上包含两个新表的数据.
比如可以
SELECT foo
FROM bar
WHERE foo BETWEEN 5 AND 10
Run Code Online (Sandbox Code Playgroud)
选择5和10还是他们被排除在范围之外?
sql-server ×10
sql ×6
t-sql ×4
alter-table ×1
between ×1
import ×1
loops ×1
notin ×1
null ×1
nvarchar ×1
primary-key ×1
storage ×1
string ×1
varchar ×1