Questions tagged «sql»

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

10
无WHILE循环查询
我们有如下所示的约会表。每个约会都需要分类为“新”或“后续”。在首次预约(该病人)后30天内(针对该病人)的任何预约均为随访。30天后,约会再次为“新”。30天之内的任何约会都将成为“后续活动”。 我目前正在通过键入while循环来做到这一点。 如何在没有WHILE循环的情况下实现这一目标? 表 CREATE TABLE #Appt1 (ApptID INT, PatientID INT, ApptDate DATE) INSERT INTO #Appt1 SELECT 1,101,'2020-01-05' UNION SELECT 2,505,'2020-01-06' UNION SELECT 3,505,'2020-01-10' UNION SELECT 4,505,'2020-01-20' UNION SELECT 5,101,'2020-01-25' UNION SELECT 6,101,'2020-02-12' UNION SELECT 7,101,'2020-02-20' UNION SELECT 8,101,'2020-03-30' UNION SELECT 9,303,'2020-01-28' UNION SELECT 10,303,'2020-02-02'

6
从多个列获取最后日期
感觉应该很简单。如何获取不同列中的最新日期 DROP TABLE #indebtedness CREATE TABLE #indebtedness (call_case CHAR(10), date1 DATETIME, date2 DATETIME, date3 DATETIME) INSERT #indebtedness VALUES ('Key1', '2019-10-30', '2019-11-30', '2019-10-25') INSERT #indebtedness VALUES ('Key2', '2019-10-20', '2019-10-30', '2019-10-15') INSERT #indebtedness VALUES ('Key3', '2019-11-11', '2019-10-29', '2019-10-30') INSERT #indebtedness VALUES ('Key4', null , '2019-10-29', '2019-10-13') select call_case, ?? AS 'Latest Date' …

7
何时使用浮点数与小数
我正在构建此API,并且数据库将存储代表以下之一的值: 百分比 平均 率 老实说,我不知道如何表示范围介于0到100%之间的数字。应该是 0.00-1.00 0.00-100.00 我不知道的任何其他选择 有一个明确的选择吗?一种在数据库上表示从0%到100%的东西的全局方式?更进一步,它的正确类型是float还是小数? 谢谢。

5
在从字符串> 4k创建的谓词中使用Oracle Clob
我正在尝试从> 4000个字符(在file_data绑定变量中提供)的字符串创建一个Clob,以在下面的Oracle SELECT谓词中使用: myQuery= select * from dcr_mols WHERE flexmatch(ctab,:file_data,'MATCH=ALL')=1; 如果我将TO_CLOB()添加到file_data的周围,则它将无法达到臭名昭著的Oracle 4k对varchar的限制(对于<4k的字符串就可以)。错误(在SQL Developer中)为: ORA-01460: unimplemented or unreasonable conversion requested 01460. 00000 - "unimplemented or unreasonable conversion requested" 仅供参考,flexmatch函数用于搜索分子,在此处进行了描述:http : //help.accelrysonline.com/ulm/onelab/1.0/content/ulm_pdfs/direct/developers/direct_2016_developersguide.pdf 函数本身有点复杂,但本质是第二个参数必须是Clob。所以我的问题是如何将超过4000个字符的Java字符串bind_variable转换为sql(或Java)中的clob。 我使用以下方法在Java(Spring boot 2)中尝试了以下方法(在插入Clob时有效): MapSqlParameterSource parameters = new MapSqlParameterSource(); parameters.addValue("file_data", fileDataStr,Types.CLOB); jdbcNamedParameterTemplate.query(myQuery,parameters,… 此方法应该可以工作,但是会失败,并会产生一个弹性匹配错误,仅供参考: SQL state [99999]; error code [29902]; ORA-29902: …

5
查找唯一的天数
我希望编写一个SQL查询来从表中查找每个员工的唯一工作日数times。 *---------------------------------------* |emp_id task_id start_day end_day | *---------------------------------------* | 1 1 'monday' 'wednesday' | | 1 2 'monday' 'tuesday' | | 1 3 'friday' 'friday' | | 2 1 'monday' 'friday' | | 2 1 'tuesday' 'wednesday' | *---------------------------------------* 预期产量: *-------------------* |emp_id no_of_days | *-------------------* | 1 4 | | …
11 sql  sql-server 

3
FTS无法正常处理带有点的电子邮件
我们正在将搜索作为更大系统的一部分进行开发。 我们有Microsoft SQL Server 2014 - 12.0.2000.8 (X64) Standard Edition (64-bit)这个设置: CREATE TABLE NewCompanies( [Id] [uniqueidentifier] NOT NULL, [Name] [nvarchar](400) NOT NULL, [Phone] [nvarchar](max) NULL, [Email] [nvarchar](max) NULL, [Contacts1] [nvarchar](max) NULL, [Contacts2] [nvarchar](max) NULL, [Contacts3] [nvarchar](max) NULL, [Contacts4] [nvarchar](max) NULL, [Address] [nvarchar](max) NULL, CONSTRAINT PK_Id PRIMARY KEY (Id) ); Phone …

8
查询执行非常缓慢,是否有任何方法可以进一步改善它?
我有以下查询,由于有很多SUM函数调用,我的查询运行太慢。我的数据库中有很多记录,我希望获得当年和去年(过去30天,过去90天和过去365天)的报告: SELECT b.id as [ID] ,d.[Title] as [Title] ,e.Class as [Class] ,Sum(CASE WHEN a.DateCol >= DATEADD(MONTH,-1,GETDATE()) THEN a.col1 ELSE 0 END) as [Current - Last 30 Days Col1] ,Sum(CASE WHEN a.DateCol >= DATEADD(MONTH,-1,GETDATE()) THEN a.col2 ELSE 0 END) as [Current - Last 30 Days Col2] ,Sum(CASE WHEN a.DateCol >= DATEADD(QUARTER,-1,GETDATE()) …
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.