我们正在处理需要处理来自不同时区和夏令时设置的全球时间数据的应用程序.我们的想法是在内部以UTC格式存储所有内容,只为本地化用户界面来回转换.SQL Server是否提供任何机制来处理给定时间,国家和时区的翻译?
这一定是一个常见的问题,所以我很惊讶谷歌不会发现任何可用的东西.
有什么指针吗?
在数据库设计方面,我有点老了,所以我完全在列中使用正确的数据大小.但是,在为朋友查看数据库时,我注意到他使用varchar(max)了很多.现在,我的想法是把它扔回给他并告诉他改变它.但后来我想到了它并且没有提出他不使用它的充分理由(如果你想知道的话,他会使用案例类型工具来生成数据库).
我一直在研究使用的主题,varchar(max)我不能真正想出他不使用它的任何理由.
他没有将列用于索引,位于数据库上的应用程序对输入有限制,因此它不允许在字段中使用大量条目.
任何帮助将不胜感激,以帮助我让他看到光:).
只需使用查询和示例来更好地了解联接.我注意到在SQL Server 2008中,以下两个查询给出了相同的结果:
SELECT * FROM TableA
FULL OUTER JOIN TableB
ON TableA.name = TableB.name
Run Code Online (Sandbox Code Playgroud)
SELECT * FROM TableA
FULL JOIN TableB
ON TableA.name = TableB.name
Run Code Online (Sandbox Code Playgroud)
这些是完全相同的动作产生相同的结果,还是会在更复杂的例子中遇到不同的结果?这只是可互换的术语吗?
我RANK()在SQL Server中使用时遇到问题.
这是我的代码:
SELECT contendernum,
totals,
RANK() OVER (PARTITION BY ContenderNum ORDER BY totals ASC) AS xRank
FROM (
SELECT ContenderNum,
SUM(Criteria1+Criteria2+Criteria3+Criteria4) AS totals
FROM Cat1GroupImpersonation
GROUP BY ContenderNum
) AS a
Run Code Online (Sandbox Code Playgroud)
该查询的结果是:
contendernum totals xRank
1 196 1
2 181 1
3 192 1
4 181 1
5 179 1
Run Code Online (Sandbox Code Playgroud)
我想要的结果是什么:
contendernum totals xRank
1 196 1
2 181 3
3 192 2
4 181 3
5 179 4
Run Code Online (Sandbox Code Playgroud)
我想根据结果对结果进行排名totals.如果有相同的值181,那么两个数字将具有相同的值xRank.
如何从日期字段中按月分组(而不是按日分组)?
这是我的日期字段的样子:
2012-05-01
Run Code Online (Sandbox Code Playgroud)
这是我目前的SQL:
select Closing_Date, Category, COUNT(Status)TotalCount from MyTable
where Closing_Date >= '2012-02-01' and Closing_Date <= '2012-12-31'
and Defect_Status1 is not null
group by Closing_Date, Category
Run Code Online (Sandbox Code Playgroud) 如果我发出SELECT username FROM Users我得到这个结果:
username -------- Paul John Mary
但我真正需要的是一个行与所有以逗号分隔值,如下所示:
Paul, John, Mary
我该怎么做呢?
我从MSDN 找到了命名指南,但它是否适用于Microsoft的MSSQL数据库?
我想按日期订购.我希望最新的日期出现在第一位.这很容易,但有许多记录是空的,而且这些记录在任何有日期的记录之前.
我尝试了一些没有成功的事情:
ORDER BY ISNULL(Next_Contact_Date, 0)
ORDER BY ISNULL(Next_Contact_Date, 999999999)
ORDER BY coalesce(Next_Contact_Date, 99/99/9999)
Run Code Online (Sandbox Code Playgroud)
我如何按日期订购并让空值最后出现?数据类型是smalldatetime.
如何在sql Azure中重命名数据库?
我试过Alter database old_name {MODIFY NAME = new_name}但没有工作.
SQL Azure中是否提供此功能?
Select * from [User] U
where U.DateCreated = '2014-02-07'
Run Code Online (Sandbox Code Playgroud)
但是在数据库中,用户是2014-02-07 12:30:47.220在我放置时创建的'2014-02-07'
它不显示任何数据