哪个是较小的存储:身份主键还是序列主键?我所说的序列的一个例子如下.
CREATE SEQUENCE TestSeq
AS INTEGER
START WITH 1
INCREMENT BY 1;
CREATE TABLE Tab1
(tab1_ID INTEGER DEFAULT NEXT VALUE FOR TestSeq PRIMARY KEY,
other_stuff VARCHAR(15) NOT NULL);
Run Code Online (Sandbox Code Playgroud)
奖励:任何推荐的序列链接也会受到欢迎.我试图找出那里的地方与身份.
我有一个包含两个日期列的表,都允许空值.
如果FileDate不为null,则AsOfDate需要等于(FileDate - Offset),其中Offset是一个默认为零的整数列.
这是我的表格def:
CREATE TABLE [import].[CMAR_GLXXXX](
[FileDate] [date] NULL,
[LoadDTM] [date] NULL,
[AsOfDate] [date] NULL,
[AccountNumber] [varchar](50) NOT NULL,
[CostCenter] [varchar](50) NOT NULL,
[OffSet] [int] default (0) NOT NULL,
[Value] [decimal](10,2) NOT NULL
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下内容:
(case when [File] IS NULL then NULL else dateadd(day,(-1 * [Offset]),[FileDate]) end)
Run Code Online (Sandbox Code Playgroud)
遗憾的是,计算出的列错误对话框在对表达式进
有任何想法吗?
我有一个看起来像这样的数据库表(简化):
CREATE TABLE User
(
ID int,
UserName varchar(100),
password varchar(100),
primary key (ID)
)
Run Code Online (Sandbox Code Playgroud)
我想加密password列.我已经研究过TDS(透明数据加密),看起来你可以在文件级加密数据库和列.
如果我使用这种方法,那么如果人们运行以下查询,他们会看到密码:
select password from [User]
Run Code Online (Sandbox Code Playgroud)
该数据库在SQL Server 2012 Enterprise Edition上运行.
我将如何得到相同的结果LINQ,ASP.Net如下面的SQL查询
如果
select *, case
when
gender = 1 then 'Male' else 'Female' end
as gen from info
Run Code Online (Sandbox Code Playgroud)
在iif
select iif(gender = 1, 'Male', 'Female') as gen, * from info
Run Code Online (Sandbox Code Playgroud)
我尝试使用建议,但抛出错误
InfoDataContext db = new InfoDataContext();
var data = from y in db.infos
db.infos.Select(i => new info{info = i, i.gender == 1 ? "Male" : "Female"}).ToList()
select y;
GridView1.DataSource = data;
GridView1.DataBind();
Run Code Online (Sandbox Code Playgroud)
还有一个是,第一个查询将新结果作为表中的最后一列返回,第二个查询作为表中的第一列返回.如何gen用gender柱重新排列或替换色谱柱
我有第01列中的值,我希望将其转换为第02列中的值,从结尾删除所有零.有没有办法在SQL服务器中执行此操作?
Column 01 Column 02
20100000 201
29050000 2905
Run Code Online (Sandbox Code Playgroud)
谢谢你的期待.
sql sql-server sql-server-2008 sql-server-2008-r2 sql-server-2012
我试图连接到可用性组中的辅助服务器,以将数据库的只读版本与SSIS包中的OLE DB连接一起使用,但似乎无法做到这一点。这么简单。可以做到吗?
编辑:忘记添加,我们希望能够使用项目参数来传递连接字符串。
我如何在SQL Server中获取A$B$C$D或A%B%C%D来自A$$$B$$$$$$C$$$$$$$$$D字符串?
我有这张桌子
User | SecretId | Status
warheat1990 | NULL | REV
warheat1990 | NULL | COM
warheat1990 | 1 | REV
warheat1990 | 1 | COM
Run Code Online (Sandbox Code Playgroud)
我想过滤掉数据(Status = REV和SecretId IS NOT NULL合并),所以最终结果将是
User | SecretId | Status
warheat1990 | NULL | REV
warheat1990 | NULL | COM
warheat1990 | 1 | COM
Run Code Online (Sandbox Code Playgroud)
我的查询
SELECT * FROM TABLE WHERE User = 'warheat1990' AND (Status <> 'REV' AND SecretId IS NULL)
Run Code Online (Sandbox Code Playgroud)
但它没有用,因为它只给了我这条ROW.
User | SecretId | Status
warheat1990 | NULL | COM …Run Code Online (Sandbox Code Playgroud) 我有这样的查询
SELECT ISDATE('18 Mar 2016 18:57:35 GMT');
Run Code Online (Sandbox Code Playgroud)
它当然返回0,因为字符串不是有效的日期格式,并且在我运行时再次出于同样的原因
SELECT CONVERT(DATETIME, '18 Mar 2016 18:57:35 GMT')
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
从字符串转换日期和/或时间时转换失败.
但我不明白的是,为什么我可以用PARSE功能做同样的事情.
SELECT PARSE('18 Mar 2016 18:57:35 GMT' AS DATETIME )
Run Code Online (Sandbox Code Playgroud)
我得到2016-03-18 14:57:35.000了结果.
任何人都可以告诉我如何PARSE和CONVERT不同,为什么我能够运行查询PARSE而不是与CONVERT?谢谢
我想将某些varchar替换为NULL.我直接用过
SELECT REPLACE('abc', '1', NULL)
Run Code Online (Sandbox Code Playgroud)
即对于每个输入varchar,如果I内至少有一个'1',则整个输入变为NULL(例如'123'为NULL,'abc-1'为NULL等)
甚至在没有匹配的情况下(例如不需要替换),我的烦恼是什么,它仍然给我NULL.例如,运行上面的语句会给你NULL.
为什么?任何解决方法?
使用"why"组件和一个简单的解决方法来挑选答案.
sql-server-2012 ×10
sql ×7
sql-server ×7
t-sql ×3
alwayson ×1
asp.net ×1
c# ×1
linq ×1
ssis ×1