Questions tagged «sql»

结构化查询语言(SQL)是用于查询数据库的语言。问题应包括代码示例,表结构,示例数据以及正在使用的DBMS实现的标签(例如MySQL,PostgreSQL,Oracle,MS SQL Server,IBM DB2等)。如果您的问题仅涉及特定的DBMS(使用特定的扩展名/功能),请改用该DBMS的标签。使用SQL标记的问题的答案应使用ISO / IEC标准SQL。

4
T-SQL中的IndexOf函数
给定一个电子邮件地址列,我需要找到@符号的位置以进行子字符串化。 indexofT-SQL中的字符串有什么功能? 寻找返回字符串中子字符串位置的东西。 在C#中 var s = "abcde"; s.IndexOf('c'); // yields 2
168 sql  sql-server  tsql  string 

24
无法启用约束。一或多个行包含违反非空,唯一或外键约束的值
我进行了外部联接并在informix数据库中成功执行,但是在代码中收到以下异常: DataTable dt = TeachingLoadDAL.GetCoursesWithEvalState(i, bat); 无法启用约束。一或多个行包含违反非空,唯一或外键约束的值。 我知道问题所在,但不知道如何解决。 我进行外部联接的第二个表包含一个复合主键,在上一个外部联接查询中该主键为null。 编辑: SELECT UNIQUE a.crs_e, a.crs_e || '/ ' || a.crst crs_name, b.period, b.crscls, c.crsday, c.from_lect, c.to_lect, c.to_lect - c.from_lect + 1 Subtraction, c.lect_kind, e.eval, e.batch_no, e.crsnum, e.lect_code, e.prof_course FROM rlm1course a, rfc14crsgrp b, ckj1table c, mnltablelectev d, OUTER(cc1assiscrseval e) WHERE a.crsnum …
168 c#  asp.net  sql  database  informix 



5
如何在多列上进行INNER JOIN
我正在做一个家庭作业项目,应该执行一个数据库查询,该查询可以按城市名称或机场代码查找航班,但是该flights表仅包含机场代码,因此如果要按城市搜索,我必须参加airports桌子。 机场表有以下几列:code, city 该航班表有以下几列:airline, flt_no, fairport, tairport, depart, arrive, fare 列fairport和tairport是从和到机场代码。 列depart和arrive是出发和到达的日期。 我想出一个查询,该查询首先将fairport列和airports.code列上的广告投放合并在一起。为了使我能够匹配,tairport我必须在从第一个联接开始的先前比赛中执行另一个联接。 SELECT airline, flt_no, fairport, tairport, depart, arrive, fare FROM (SELECT * FROM flights INNER JOIN airports ON flights.fairport = airports.code WHERE (airports.code = '?' OR airports.city='?')) AS matches INNER JOIN airports ON matches.tairport = airports.code WHERE (airports.code …
168 sql  database 


13
如何按小时或10分钟分组时间
就像我做的时候 SELECT [Date] FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY [Date] 如何指定小组活动时间? 微软SQL 2008 第二次编辑 我尝试着 SELECT MIN([Date]) AS RecT, AVG(Value) FROM [FRIIB].[dbo].[ArchiveAnalog] GROUP BY (DATEPART(MINUTE, [Date]) / 10) ORDER BY RecT 将%10更改为/10。是否可以使Date输出不带毫秒?



13
更新SQL中的多列
有没有一种方法可以像使用插入语句一样更新SQL Server中的多列? 就像是: Update table1 set (a,b,c,d,e,f,g,h,i,j,k)= (t2.a,t2.b,t2.c,t2.d,t2.e,t2.f,t2.g,t2.h,t2.i,t2.j,t2.k) from table2 t2 where table1.id=table2.id 或类似的东西,而不是像这样: update table set a=t2.a,b=t2.b etc 如果您有100多个专栏,那么编写起来可能会很累。

30
哪个更快/最好?SELECT *或SELECT column1,colum2,column3等
我听说SELECT *在编写SQL命令时通常不宜使用这种做法,因为它对于SELECT您特别需要的列更有效。 如果我需要SELECT表中的每一列,我应该使用 SELECT * FROM TABLE 要么 SELECT column1, colum2, column3, etc. FROM TABLE 在这种情况下,效率真的重要吗?我认为SELECT *,如果您确实需要所有数据,则内部会更理想,但我是在没有真正理解数据库的情况下说这一点。 我很好奇这种情况下的最佳做法。 更新:我可能应该指定,我真正想要做的唯一情况SELECT *是当我从一个表中选择数据时,我知道所有列都将始终需要检索,即使添加了新列也是如此。 但是,鉴于我所看到的答复,这似乎仍然是一个坏主意,SELECT *绝不应该出于我曾经遇到的更多技术原因而使用它。
166 sql  database 


6
如何在SQL中有效地计算列值的出现?
我有一张学生桌: id | age -------- 0 | 25 1 | 25 2 | 23 我想查询所有学生,并增加一列来统计有多少学生年龄相同: id | age | count ---------------- 0 | 25 | 2 1 | 25 | 2 2 | 23 | 1 最有效的方法是什么?我担心子查询会很慢,我想知道是否有更好的方法。在那儿?
166 sql  performance 

8
在WHERE子句中引用列别名
SELECT logcount, logUserID, maxlogtm , DATEDIFF(day, maxlogtm, GETDATE()) AS daysdiff FROM statslogsummary WHERE daysdiff > 120 我懂了 “无效的列名daysdiff”。 Maxlogtm是日期时间字段。是让我发疯的小东西。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.