我有一张桌子列出了人们的出生日期(目前是nvarchar(25))
如何将其转换为日期,然后计算年龄?
我的数据如下
ID Name DOB
1 John 1992-01-09 00:00:00
2 Sally 1959-05-20 00:00:00
Run Code Online (Sandbox Code Playgroud)
我想看看:
ID Name AGE DOB
1 John 17 1992-01-09 00:00:00
2 Sally 50 1959-05-20 00:00:00
Run Code Online (Sandbox Code Playgroud) 是否可以在一个语句中加入2个sql SELECT语句的结果?我有任务的数据库,其中每个记录是一个单独的任务,最后期限(和P替换,这仅仅是一个从开始到最后期限的天INT,年龄也是天的INT数.)
我想有哪个人都有每个人的桌子上,他们有任务的数量,以及他们有LATE任务数表(如果有的话).
我可以轻松地在单独的表中获取这些数据,如下所示:
SELECT ks, COUNT(*) AS '# Tasks' FROM Table GROUP BY ks
Run Code Online (Sandbox Code Playgroud)
返回数据如:
ks # Tasks
person1 7
person2 3
Run Code Online (Sandbox Code Playgroud)
然后我有
SELECT ks, COUNT(*) AS '# Late' FROM Table WHERE Age > Palt GROUP BY ks
Run Code Online (Sandbox Code Playgroud)
返回:
ks # Late
person1 1
person2 1
Run Code Online (Sandbox Code Playgroud)
我想加入这两个选择语句的结果(由KS提供)
我试图避免使用临时表,但如果这是唯一可行的方法,我想了解更多关于以这种方式使用临时表的信息.
我也尝试做某种count()#行满足条件,但我也想不出怎么做.如果可能的话,那也会奏效.
附录:对不起,我希望我的结果包含KS,Tasks和Late的列
KS # Tasks # Late
person1 7 1
person2 3 1
person3 2 0 (or null)
Run Code Online (Sandbox Code Playgroud)
另外,即使他们没有迟到的任务,我也希望一个人出现.
SUM(年龄> Palt THEN 1 ELSE 0 END)后期效果很好,感谢您的回答!
两个select语句也可以工作,使用LEFT JOIN加入它们也可以工作,我现在明白了如何以这种方式连接多个选择.谢谢!
在SQL语句中选择常量而不引用表是完全合法的:
SELECT 1, 2, 3
Run Code Online (Sandbox Code Playgroud)
后者返回的结果集是包含值的单行.我想知道是否有一种方法可以使用常量表达式一次选择多行,有点像:
SELECT ((1, 2, 3), (4, 5, 6), (7, 8, 9))
Run Code Online (Sandbox Code Playgroud)
我希望像上面这样的东西工作并返回一个包含3行和3列的结果集.
我需要编写一个查询来检索一个大的id列表.
我们支持许多后端(MySQL,Firebird,SQLServer,Oracle,PostgreSQL ......)所以我需要编写一个标准的SQL.
id集的大小可能很大,查询将以编程方式生成.那么,最好的方法是什么?
SELECT * FROM TABLE WHERE ID IN (id1, id2, ..., idn)
Run Code Online (Sandbox Code Playgroud)
我的问题是.如果n很大会怎么样?还有,性能呢?
SELECT * FROM TABLE WHERE ID = id1 OR ID = id2 OR ... OR ID = idn
Run Code Online (Sandbox Code Playgroud)
我认为这种方法没有n限制,但如果n非常大,那么性能呢?
foreach (var id in myIdList)
{
var item = GetItemByQuery("SELECT * FROM TABLE WHERE ID = " + id);
myObjectList.Add(item);
}
Run Code Online (Sandbox Code Playgroud)
当通过网络查询数据库服务器时,我们遇到了这种方法的一些问题.通常最好做一个检索所有结果的查询,更好的是那么多小的查询.也许我错了.
什么是这个问题的正确解决方案?
$('#mySelectBox option').each(function() {
if ($(this).isChecked())
alert('this option is selected');
else
alert('this is not');
});
Run Code Online (Sandbox Code Playgroud)
显然,这isChecked不起作用.所以我的问题是这样做的正确方法是什么?谢谢.
Chrome的用户代理样式表为<select>元素的所有角提供了5px的边框半径.我已经尝试通过外部样式表应用半径为0px来解决这个问题,以及元素本身的内联; 我已经尝试了两种border-radius:0px,-webkit-border-radius:0px;并且我已经尝试了更具体的border-top-left-radius:0px(以及它的-webkit等价物).
没有人工作.
当我在webkit的开发人员工具中检查元素时,Computed Style仍将半径列为5px.但是,如果我单击旁边的展开箭头来查看具体内容,则会显示:element.style - 0px.在下面它显示了我给出的0px的外部css规范,以及5px的用户代理样式表规范.后两者都被划掉了,因为它们应该是.
有任何想法吗?
在R中有一个矩阵:
one two three four
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 11 18
[4,] 4 9 11 19
[5,] 5 10 15 20
Run Code Online (Sandbox Code Playgroud)
我想提取其行有第三列= 11的子矩阵.这是:
one two three four
[1,] 1 6 11 16
[3,] 3 8 11 18
[4,] 4 9 11 19
Run Code Online (Sandbox Code Playgroud)
我想在没有循环的情况下这样做.我是R的新手,所以这可能非常明显,但文档往往有些简洁.
如何在SQL Select语句上返回一个布尔值?
我试过这段代码:
SELECT CAST(1 AS BIT) AS Expr1
FROM [User]
WHERE (UserID = 20070022)
Run Code Online (Sandbox Code Playgroud)
并且只有在表上存在时才返回TRUE值UserID.FALSE如果UserID表中不存在,我希望它返回值.非常感谢你.
正如标题所暗示的那样......我正在试图以最少的开销来找出最快的方法来确定表中是否存在记录.
示例查询:
SELECT COUNT(*) FROM products WHERE products.id = ?;
vs
SELECT COUNT(products.id) FROM products WHERE products.id = ?;
vs
SELECT products.id FROM products WHERE products.id = ?;
Run Code Online (Sandbox Code Playgroud)
假设?与'TB100'... 交换...第一个和第二个查询将返回完全相同的结果(例如... 1对于此对话).最后一个查询将按'TB100'预期返回,如果id表中没有,则不返回任何内容.
目的是弄清楚id表中是否有.如果没有,程序将接下来插入记录,如果是,程序将跳过它或基于该问题范围之外的其他程序逻辑执行UPDATE查询.
哪个更快,开销更少?(每个程序运行将重复数万次,并且每天将运行多次).
(通过M $提供的JDBC驱动程序从Java运行此M $ SQL Server查询)