我已经看到了许多不同的方法来创建和填充数字表.但是,创建和填充一个的最佳方法是什么?从最重要到最不重要的"最佳"被定义:
如果你不知道数字表是什么,请看这里:我为什么要考虑使用辅助数字表?
我正在将ticks值转换为这样的日期:
Convert(datetime, (MachineGroups.TimeAdded - 599266080000000000)/864000000000);
Run Code Online (Sandbox Code Playgroud)
使用这个我得到:
9/27/2009 10:50:27 PM
Run Code Online (Sandbox Code Playgroud)
但我想要这种格式的日期:
October 1, 2009
Run Code Online (Sandbox Code Playgroud)
我的样本滴答值是
633896886277130000
Run Code Online (Sandbox Code Playgroud)
做这个的最好方式是什么?
运行以下命令时,如何返回0而不是null:
SELECT MAX(X) AS MaxX
FROM tbl
WHERE XID = 1
Run Code Online (Sandbox Code Playgroud)
(假设没有XID = 1的行)
我正在运行SQL Server 2005,但我不确定这是哪个版本.如何确定机器上运行的版本(Express,Standard,Enterprise等)?
我正在尝试在表上执行单行插入/更新,但所有示例都是针对集合.
任何人都可以修复我的语法:
MERGE member_topic ON mt_member = 0 AND mt_topic = 110
WHEN MATCHED THEN UPDATE SET mt_notes = 'test'
WHEN NOT MATCHED THEN INSERT (mt_member, mt_topic, mt_notes) VALUES (0, 110, 'test')
Run Code Online (Sandbox Code Playgroud)
每个marc_s的解析是将单行转换为子查询 - 这使我认为MERGE命令并不真正用于单行upsert.
MERGE member_topic
USING (SELECT 0 mt_member, 110 mt_topic) as source
ON member_topic.mt_member = source.mt_member AND member_topic.mt_topic = source.mt_topic
WHEN MATCHED THEN UPDATE SET mt_notes = 'test'
WHEN NOT MATCHED THEN INSERT (mt_member, mt_topic, mt_notes) VALUES (0, 110, 'test');
Run Code Online (Sandbox Code Playgroud) 我想在所有数据库的所有表中找到所有列名.有查询可以帮我吗?该数据库是Microsoft SQL Server 2000.
我有三个表,我希望通过它们之间的公共列进行内连接.
说我的桌子是;
TableA TableB TableC
Run Code Online (Sandbox Code Playgroud)
我希望加入A-B,但是B-C在这个共同领域的所有人我都会称之为共同.
我加入了两张这样的桌子;
dbo.tableA AS A INNER JOIN dbo.TableB AS B
ON A.common = B.common
Run Code Online (Sandbox Code Playgroud)
我如何添加第三个?
最近开始无法连接到数据库的应用程序一直没有问题(并且在大约6个月左右没有对其进行任何活动开发).操作管理员无法说出可能导致问题的更改内容.
客户端应用程序使用具有Integrated Security = True的硬编码连接字符串,但是当应用程序尝试创建与数据库的连接时,它会抛出一个SQLException,表示"用户登录失败'NT AUTHORITY\ANONYMOUS LOGON".
我可以通过此帐户上的Management Studio登录数据库而不会出现问题.我在这个问题上看到的所有内容都是针对ASP.NET项目的,显然它是"双跳问题",它是一个客户端应用程序,最好不要成为问题.任何帮助将不胜感激.
客户端计算机和服务器计算机以及用户帐户位于同一域中.Windows防火墙关闭时会发生这种情况.
主要理论是:服务器大约一周左右重新启动,并且未能注册服务主体名称(SPN).未注册SPN可能导致集成身份验证回退到NTLM而不是Kerberos.
我正在使用SQL Server 2008 R2.我无法远程连接到我的数据库.我收到以下错误.
建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.
(提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)
我检查了SQL Server属性,并启用了允许远程连接.
我检查了服务管理器和SQL Server服务正在运行.
我检查了配置管理器,我看不到SQL Server服务下的任何服务,它显示远程过程调用失败

所以请指导我.