需要在字段中搜索s字符串并返回所有值,直到一个分隔符,然后拆分字段以继续搜索
你好, 我有以下挑战.我需要在字段中搜索特定的文本字符串. 然后将所有字符返回到分隔符. 这是字段中一行数据的示例.GENETABLE.GeneField 基因 ID=ABA2 SIS4 GIN1 SDR1 ISI4 SRE1 ATABA2 ATSDR1_AT1G52340 |Genotype_Zygosity=纯合二倍体_APO:0000229 |突变体 LOF_GOF ID=失去功能_APO:0000011 && 基因 ID=CESA8 IRX1 ATCESA8 LEW2_AT4G18780 |Genotype_Zygosity=纯合二倍体_APO:0000229 |突变LOF_GOF ID=失去功能_APO:0000011 所以我需要的具体字符串是 'Gene ID=' 然后我会返回一行: 基因ID=ABA2 SIS4 GIN1 SDR1 ISI4 SRE1 ATABA2 ATSDR1_AT1G52340 | 它会找到下一个基因 id 并返回另一
166 2022-07-19
编程技术问答社区
在T-SQL中,(最好使用ssmse来运行这个.SQL脚本)。。。如何从一个脚本中访问两个正在运行的sql实例?
我猜想从这个脚本内部以某种形式使用 sqlcmd 将成为答案之一,但坐在这里,打开 ssmse 并准备好编写一个“新查询"......必须是 T-SQL 中的一些切换命令,我可以在其中在实例之间移动. 最终,我希望对多个数据库中的每一个都运行广谱效果并合成结果. 我现在能想到的就是使用“sqlcmd -i"命名实例,然后是另一个 .sql 脚本,完成数据制表,然后在下一个实例上再次运行它... 我相信本地->远程->本地再次可以吗? [EDIT_01] 我看到 sp_addlinkedserver 在可编程性脚本中可用的大量列表中进行检查.我可能只需要在“远程"服务器中链接后添加“远程"数据库的名称,对吗? 解决方案 好的, 从 Mehdi 回答的类似这篇文章中可以看出,我在文章中应用的技术上失败了.今天,我仍然无法使用 Quackit 方法.正如我所说,那篇文章和“sp_addlinkedserver"上的 ssmse 帮助之间存在一些差异.
104 2022-07-19
编程技术问答社区
始终在SQL Server中取整
你好, 我在 sql server 2005 中遇到了舍入函数的问题.例如,我已将变量声明为十进制并为其设置一个值: DECLARE @v DECIMAL(8,3)SET @v = 4.843 现在我必须将这个值四舍五入到 4.85.有没有可能这样做?标准舍入函数(舍入、上限)无法做到这一点. 解决方案 测试一下: DECLARE @v DECIMAL(8,3)DECLARE @x DECIMAL(8,3)SET @v = 4.839SET @x = 0.001CREATE TABLE #tt ([V] DECIMAL(8,3), [AkaModuloV] DECIMAL(8,3), [RoundedV] 十进制(8,3))WHILE (@v85)开始SET @v = @v + @xINSERT INTO #tt([V], [AkaModuloV], [RoundedV])SELECT @v AS [V],(@v - ROUND(@v, 2span>)) AS [Ak
326 2022-07-19
编程技术问答社区
Sql事务开始结束不匹配
虽然我能够成功创建存储过程,但在使用它时出现“TRANSACTION BEGIN END MISMATCH"错误.当我删除事务时,存储过程工作正常. alter 过程 Proc_LoanRepayment@LASAcctno [Varchar] (15), @EntryDate [Varchar] (8), @ValueDate [Varchar] (8),@ModeofPayment varchar(20),@ChqNo varchar(20),@ChqDate varchar(8),@ChqAmt money,@CstBnkNo varchar(20),@Cstbnkid varchar(20),@CmpBnkNo varchar(20),@Cmpbnkid varchar(20),@Narration1 [Varchar] (100), @Narration2 [Varchar] (100), @EntryType varchar(30),@PostingString [Va
138 2022-07-19
编程技术问答社区
复杂选择查询
你好, 我的桌子是- PurID - ProID - ProName - 数量 1 - 3 - 芒果 - 10 2 - 3 - 芒果 - 20 3 - 3 - 芒果 - 30 4 - 6 - 香蕉 - 15 5 - 6 - 香蕉 - 25 6 - 6 - 香蕉 - 35 7 - 8 - 橙色 - 100 8 - 8 - 橙色 - 200 9 - 8 - 橙色 - 300 我想选择 PurID、ProID、ProName、Quantity 的最大数量.前 PurID - ProID - ProName - 数量 3 - 3 - 芒果 - 30 6 - 6 - 香蕉 - 35 9 - 8 - 橙色 - 300 有没有 T-Sql squery 可以做到这一点? 解决方案 select PurID, ProID, ProName, MAX(Quantity) from MyTable GROUP 由 ProID 应该适合这份工作.
112 2022-07-19
编程技术问答社区
如何将日期格式更改为法语
大家好 我有一个像 20150414 这样的日期格式,我希望将其更改为 2015 年 4 月 14 日,所以在存储过程中基本上是法语,任何人都可以告诉我,因为我认为 ssms 中没有标准 任何帮助都会非常感谢 谢谢 解决方案 那是因为这是个坏主意!:笑: 首先,您不应该将日期存储为字符串:您应该始终将它们存储为 DATE 或 DATETIME - 它们没有格式,它们存储为自任意时间点以来的微秒数.将日期存储为字符串既浪费,又是 PITA,因为很难对它们进行有用的比较. 其次,因为显示日期格式不是数据库功能——它确实需要在您的演示软件中完成,它可以将数据以用户喜欢的格式呈现给用户.在现代万维网世界中,假设您使用或喜欢的日期格式将适合您的所有用户是愚蠢的:即使在任何欧洲国家的中型公司中,您也会获得喜欢输入和阅读日期的用户不同的格式! 因此,更改您的数据库,以适当的格式存储数据,并在您可以访问用户首选文化信息的演示软件中进行转换(尽可能早地从用户输入,尽
180 2022-07-19
编程技术问答社区
无法删除记录,因为事务日志文件已满
我的 磁盘 is 用完了 of 空格 and as 结果我决定 to 释放 一些 空间 删除旧数据.我试过 to delete 100,000 by 100,000 as 有 240 百万条记录 to 被删除.但我无法to 删除它们一次和 缩小 database 不会'释放太多空间.这是我有时会遇到的错误.数据库 'TEST_ARCHIVE' 的事务日志已满.要找出日志中的空间不能被重用的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列我该如何克服这种情况并删除所有旧记录?请指教. 解决方案 问题是DELETE查询本身尝试写入日志,但是没有磁盘空间可以放大日志... 您有 3 个选择: 1. 截断表[^] 表...它将删除所有没有日志的记录... 2.如果你需要保留部分记录,比创建一个临时表并插入要保存的记录,而不是运行TRUNCATE TABLE并将保存的记录复制回来...... 3. 将数据库的恢复模式更改为简单,然后删除行.之
338 2022-07-19
编程技术问答社区
将nvarchar转换为int时出错
我收到此错误.有人可以帮助我吗 消息 245,第 16 级,状态 1,第 3 行 将 nvarchar 值 ''account 1'' 转换为数据类型 int 时转换失败. SELECT New_accountid AS AccountIdFROM BingMapsPlatform_MSCRM.dbo.FilteredAccount WITH (NOLOCK)WHERE new_islicensed = '1'AND new_accountid NOT IN (SELECT DISTINCT New_AccountIdFROM BingMapsPlatform_MSCRM.dbo.New_keydenylistExtensionBase WITH (NOLOCK)WHERE New_AccountId IS NOT NULL) 解决方案 试试这个: SELECT New_accountid AS AccountIdFROM BingMapsPlatform_MSC
200 2022-07-19
编程技术问答社区
在SQL中更新和插入
大家好, 我从表中检索了一些数据并将它们插入到临时表中,比如说 tblTemp. 该表的输出为: siteid p_id desc code 11 1 次测试 1 22 11 1 次测试 2 22 11 1 次测试 3 22 11 1 次测试 4 22 我正在尝试完成增加该临时表的 siteid 并插入到表中.我该怎么做? 最终结果应该是这样的: siteid p_id desc code 11 1 次测试 1 22 12 1 次测试 2 22 13 1 次测试 3 22 14 1 次测试 4 22 我正在考虑循环遍历结果集并插入它们.但是有更好的方法吗?有人可以引导我如何解决它吗?谢谢 我试过了: DECLARE @curcount INTSET @curcount = 0WHILE(@curcount
166 2022-07-19
编程技术问答社区
如何从多行中累积减去N
你好, 我想知道是否有更好的方法如何从表中的多行中减去某个值.让我用这个简化的例子来解释这个问题: 我们希望在如下所示的表格中跟踪我们购买的不同商品的库存数量: Id ReceivedOn CommodityId OriginalQty RemainingQty UnitCostPrice--------------------------------------------------------------------1 2015-02-01 123 10 8 $352 2015-01-24 123 40 70 $283 2015-01-14 80 25 25 $1204 2015-01-18 80 10 10 $125 现在的任务是从仓库中取出72件商品#123,并返回被取出商品的总成本价.我们想先从最旧的行中减去.因此,在这种情况下,所需的行为将是: 将第 2 行的 RemainingQty 设置为 0. 将第 1 行的 RemainingQty 设置为
82 2022-07-19
编程技术问答社区
基于时间表的销售和销售订单表之间的FIFO分配
这是一个与订单处理相关的查询.有一个销售订单,其中包含具有特定数量的不同产品.每个数量都有交货时间表.在这种情况下,对于 55 个号码,它的时间表为 10、15、30.同样的方式,它还有一组时间表.在销售详细信息表中,您可以获得针对每个项目销售的材料的详细信息.您将获得销售订单号和项目行号等详细信息.我们需要在 FIFO 的基础上获取计划数量并分配所需的数量.我需要得到一个如图所示的结果集,并且必须更新销售订单详细信息表.请帮帮我 解决方案 你好, 我认为您需要推送插入数据的历史记录. 问题不太清楚,lz能多解释一下吗? Bechir 引用:ALTER PROCEDURE [dbo].[ISP_INT_DELFIFO]@ENTRY_TY VARCHAR(2),@TRAN_CD INTAS开始SET NOCOUNT ON;IF OBJECT_ID('TEMPDB..#MAIN'
154 2022-07-19
编程技术问答社区
sql server查询中的技术问题
你好, 我有这样的表 STATION_ID|SENSORNAME|TIME_TAG |VALUE AIN SEBOU |NIVEAU |2015-03-01|20 AIN SEBOU |NIVEAU |2015-03-02|70 AIN SEBOU |PLUIE1hr |2015-03-01|20 AIN SEBOU |PLUIE1hr |2015-03-02|10 AZZABA |NIVEAU |2015-03-01|20 AZZABA |NIVEAU |2015-03-02|70 AZZABA |PLUIE1hr |2015-03-01|20 AZZABA |PLUIE1hr |2015-03-02|10 我想查看包含 STATION_ID = AIN SEBOU 和 AZZABA 以及 SENSORNAME NIVEAU 和 PLUIE1hr 用于 AIN SEBOU 和 NIVEAU 用于 AZZABA 我已
94 2022-07-19
编程技术问答社区
选择distict值的Sql查询
查询 select C.CompanyName ,C.CompanyID,R.URLPart,C.Photo,T.ReportID from dbo.KALKINE_Company C inner join dbo.KALKINE_ReportsCompanyTag T on C.CompanyID = T.CompanyID inner join dbo.KALKINE_Reports R on R.CompanyID = T.CompanyID where T.ReportID = 855 我尝试过的: 我厌倦了获取 CompanyName ,CompanyID,URLPart 的不同值 解决方案 要选择不同的值,您需要使用 DISTINCT 关键字. SELECT DISTINCT companyName, CompanyId, URLPart FROM ... 这将得到不同的 3 个值组合. SELEC
178 2022-07-19
编程技术问答社区
使用交叉应用时出错
我是第一次尝试使用交叉申请,每次尝试都会出错. 如果我对值进行硬编码,它可以正常工作,如果我尝试使用表值(这是重点),我会收到错误. 我尝试过的: -- 当我对值进行硬编码时,我正在调用 TVF,这工作正常 s elect prs.* from cifa addr cross apply TVFParseSourceAddress('123 First Street',null,null,'Lake Mary FL 27344',null,null,null,null) prs 但是当我尝试使用表 cifa 中的值调用该函数时,它给了我一个错误.'.' 附近的语法不正确 select addr.ADDRESS1, addr.ADDRESS2, addr.CITY_STATE_ZIP from cifa addr cross apply TVFParseSourceAddress(addr.ADDRESS1,null,null,addr.CITY_
90 2022-07-19
编程技术问答社区
如何解释运行总计中的空值?
我正在尝试在 ssrs 图表上绘制数据.我的 x 轴将始终绘制从 1 到 31 的值. 我的数据的问题是并非每天都有销售.下面的例子: |Day | Quantity | 1 | 20 | 2 | 40 | 3 | null | 4 | 60 | 我要完成的工作如下: |Day | Quantity | | 1 | 20 | | 2 | 40 | | 3 | 40* | | 4 | 60 | 我尝试过的: UPDATE m SET m.CMQty = CASE WHEN m.SkuNbr = t.ChildSku and m.Day = t.day THEN t.QTY WHEN m.SkuNbr = t.ChildSKU and m.day t.day THEN 0 end FROM #MonthData
94 2022-07-19
编程技术问答社区
如何在SQL WHERE子句中应用条件语句
大家好 我在 SQL 查询的 where 子句中应用条件“if"时遇到了问题. 这是查询.我已经删除了 WHERE 子句中不必要的连接、列名和多个条件以使其可读. SELECT TransactionId, TransactionDate , ProcessingDate FROM TransactionDetails WHERE TransactionId in (2,3,9) AND ...AND .. 现在,我需要从 TransactionDetails 表中选择另一个事务 ID 为 14 & 的记录.15 仅当 TransactionDate 该特定记录的处理日期. 我尝试了什么: 尝试使用 IF ELSE - 但它仅适用于变量.我想在表格中的日期列上应用条件. select * from transactionDetails WHERE OrderID in (400376, 400379) AND IF TransactionDate
148 2022-07-19
编程技术问答社区
标题/细节混合
我有一张桌子: IDX MyText 1 Header1 2 BodyA 3 BodyB 4 Header2 5 BodyC 6 BodyD 7 BodyE 8 Header3 9 BodyF 10 BodyG 11 BodyH 我想要的是: IDX MyHeader MyText 2 Header1 BodyA 3 Header1 BodyB 5 Header2 BodyC 6 Header2 BodyD 7 Header2 BodyE 9 Header3 BodyF 10 Header3 BodyG 11 Header3 BodyH 我试过了: SELECT IDX, MyText AS MyHeaderINTO #Temp1FROM MyTableWHERE LEFT(MyText, 7) ='历史'选择P.IDX, (SELECT TOP(1) T.IDX, T.MyHeader FROM #Temp1 T WHERE T.IDX ORDER BY T.
104 2022-07-19
编程技术问答社区
sql server 2005中计数的总和和百分比
我有以下场景 原格式 SrNo 月 问题 1 一月 8 2 二月 14 3 三月 26 4 四月 21 5 可能 14 6 六月 19 7 七月2 我需要以下格式的 sql Sr.No.Month 问题 总和% 1 一月 8 104 7.69 2 二月 14 104 13.46 3 三月 26 104 25.92 4 四月 21 104 20.19 5 可能 14 104 13.46 6 六月 19 104 18.32 7 七月2 104 0.96 解决方案 这是获取结果的 sa(i)mple 查询: 选择 SrNo, Month, Issues,总和(问题)as 总和,(问题 * 100/Sum(Issues)) as 百分比From myTable 您可以使用 SUM 函数[^] 和 OVER 子句[^]. SELECT SrNo, Month, Issues, SUM(Issues) OVER()AS SUM,
114 2022-07-19
编程技术问答社区
选择sql server 2000中的动态顶行
我在我的存储过程中使用以下查询. select top 5 * 来自 tblTableOne. 但我的查询中需要动态的 top no.在sql server 2005 &2008我可以用 "select top (@no) * from tblTableOne" 但我使用的是 sql server 2000.所以我怎样才能在 sql 2000 中做同样的事情. thanx 解决方案 http://stackoverflow.com/questions/187998/row-offset-in-sql-server[^]
124 2022-07-19
编程技术问答社区