Questions tagged «sql»

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

17
如何使用Print Statement打印VARCHAR(MAX)?
我有一个代码是: DECLARE @Script VARCHAR(MAX) SELECT @Script = definition FROM manged.sys.all_sql_modules sq where sq.object_id = (SELECT object_id from managed.sys.objects Where type = 'P' and Name = 'usp_gen_data') Declare @Pos int SELECT @pos=CHARINDEX(CHAR(13)+CHAR(10),@script,7500) PRINT SUBSTRING(@Script,1,@Pos) PRINT SUBSTRING(@script,@pos,8000) 脚本的长度大约为10,000个字符,并且由于我使用的print语句最多只能容纳8000个字符。因此,我使用的是两个print语句。 问题是当我有一个脚本(例如18000个字符)时,我曾经使用3条打印语句。 那么,有没有一种方法可以根据脚本的长度来设置打印语句的数量?


5
在同一张桌子上两次联接的最佳方法是什么?
这有点复杂,但是我有2个表。假设结构是这样的: *Table1* ID PhoneNumber1 PhoneNumber2 *Table2* PhoneNumber SomeOtherField 可以基于Table1.PhoneNumber1-> Table2.PhoneNumber或Table1.PhoneNumber2-> Table2.PhoneNumber联接表。 现在,我想获得一个包含PhoneNumber1,与PhoneNumber1,PhoneNumber2对应的SomeOtherField和与PhoneNumber2对应的SomeOtherField的结果集。 我想到了两种方法来执行此操作-通过在表上联接两次或通过在ON子句中使用OR联接一次。 方法1: SELECT t1.PhoneNumber1, t1.PhoneNumber2, t2.SomeOtherFieldForPhone1, t3.someOtherFieldForPhone2 FROM Table1 t1 INNER JOIN Table2 t2 ON t2.PhoneNumber = t1.PhoneNumber1 INNER JOIN Table2 t3 ON t3.PhoneNumber = t1.PhoneNumber2 这似乎有效。 方法2: 某种程度上看起来像这样的查询- SELECT ... FROM Table1 INNER JOIN Table2 ON Table1.PhoneNumber1 …
108 sql  join 

5
Java中是否有任何好的动态SQL构建器库?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 4年前关闭。 改善这个问题 任何人都知道Java的一些不错的SQL构建器库,例如Squiggle(似乎不再维护了)。最好是积极发展的项目。 最好使用Zend_Db_Select之类的语法,这样可以进行查询的类 String query = db.select().from('products').order('product_id');
108 java  sql  sqlbuilder 


2
JPQL IN子句:Java数组(或列表,集合…)?
我想从数据库中加载所有设置了文本标签的对象,这些标签设置为少量但任意数量的值。在SQL中执行此操作的逻辑方法是建立“ IN”子句。JPQL允许IN,但是似乎要求我直接为IN指定每个单个参数(例如,“ in(:in1,:in2,:in3)”)。 是否有某种方法可以指定应展开为IN子句值的数组或列表(或其他容器)?
108 sql  orm  jpa  jpql  named-query 




6
T-SQL:在UPDATE语句中使用CASE根据条件更新某些列
我想知道这是否有可能。如果条件为真,我想更新x列,否则y列将被更新 UPDATE table SET (CASE (CONDITION) WHEN TRUE THEN columnx ELSE columny END) = 25 我到处搜索,尝试了一些操作,但找不到解决方案。我认为这是不可能的,但是我想在这里问一下,看看是否有人做过。提前致谢。
108 sql  sql-update  case 



14
如何在Codeigniter模型中打印SQL语句
我的模型中有一条sql语句, 然后我说 $query = $this->db->query($sql, array(fields, fields1); if ($query) { return true: } else { echo "failed"; return false; } 我的查询始终失败,如何获取php以打印发送到数据库的确切sql语句?并将其显示在我的php视图的页面上
107 php  sql  codeigniter 

6
MySQL-为什么不索引每个字段?
最近,我了解了索引的奇妙之处,并且性能得到了极大的提高。但是,据我所知,我似乎找不到该问题的答案。 索引很棒,但是为什么有人不能只索引所有字段以使表变得如此快呢?我确定有充分的理由不这样做,但是三十字段表中的三个字段又如何呢?30个字段中有10个?一个人应该划界线,为什么呢?
107 mysql  sql  indexing 

16
为什么没有比ANSI-89更好地采用SQL ANSI-92标准?
在我工作的每家公司中,我发现人们仍在按照ANSI-89标准编写其SQL查询: select a.id, b.id, b.address_1 from person a, address b where a.id = b.id 而不是ANSI-92标准: select a.id, b.id, b.address_1 from person a inner join address b on a.id = b.id 对于这样的极其简单的查询,可读性没有太大差异,但是对于大型查询,我发现将联接条件归为一组并列出该表可以更轻松地查看联接中可能存在问题的位置,并且让我将所有过滤保留在WHERE子句中。更不用说我觉得外部联接比Oracle中的(+)语法直观得多。 当我尝试向人们传播ANSI-92时,使用ANSI-92而不是ANSI-89有什么具体的性能优势?我会自己尝试,但是我们在这里使用的Oracle设置不允许我们使用EXPLAIN PLAN-不想让人们尝试优化他们的代码,是吗?
107 sql  join  ansi-sql  ansi-92 

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.