Tag: sql server

使用T-SQL查找最后一次出现子string的索引

有没有一个简单的方法来find最后一次使用SQL的string的索引? 我现在正在使用SQL Server 2000。 我基本上需要.NET System.String.LastIndexOf方法提供的function。 有一点谷歌search显示这一点 – 函数来检索最后的索引 – 但如果你传递一个“文本”列expression式不起作用。 其他解决scheme的其他解决scheme只有在您search的文本长度为1个字符时才起作用。 我可能不得不做一个function。 如果我这样做,我会在这里张贴,所以你们可以看看,也许可以利用。

如何确定在SQL Server中无法转换为(decimal,float,int)的字段值

我有一个SQL Server数据库。 一个字段的值是这样的 ID VALUE 1 NEGATIF 2 11.4 3 0.2 4 A RH(+) 5 —– 6 >>>>> 7 5.6< 8 -13.9 我想要将VALUE字段转换为十进制,当然可以转换字段。 什么样的SQL语句可以做到这一点? 如何才能了解转换时发生错误的值? PS:我认为这可以解决WHERE VALUE LIKE '[az]'但是如何添加更多的filter如[ – +()]?

如何让领先的通配符全文search在SQL Server中工作?

注意:我正在使用SQL的全文searchfunction,CONTAINS子句和全部 – 全文是通配符,%仅用于LIKE子句。 我已经读过几个地方,现在在MS SQL中不支持“领先的通配符”search(例如使用“* overflow”来匹配“stackoverflow”)。 我正在考虑使用CLR函数来添加正则expression式匹配 ,但我很好奇,看看人们可能有什么其他解决scheme。 更多信息 : 只能在单词或短语的末尾添加星号。 – 与我的实证经验一起:当匹配“myvalue”,“my *”工作,但“(星号)值”返回不匹配时,执行如下简单的查询: SELECT * FROM TABLENAME WHERE CONTAINS(TextColumn, '"*searchterm"'); 因此,我需要一个解决方法。 我只是在实际的search页面上使用我的网站进行search – 所以它需要基本上与Google的工作方式一样(在Joe Sixpacktypes的用户眼中)。 不是那么复杂,但是这种比赛真的不应该失败。

在select声明的情况

我有一个SQL语句,有一个来自SELECT的CASE ,我只是不能正确的。 你们可以给我看一个例子, CASE是条件,结果来自案例。 例如: Select xxx, yyy case : desc case when bbb then 'blackberry'; when sss then 'samsung'; end from (select ???? ….. 结果显示 name age handphone xxx1 yyy1 blackberry xxx2 yyy2 blackberry

如何在SQL中select没有时间的date

当我在SQL中selectdate时,它返回2011-02-25 21:17:33.933 。 但我只需要date部分,即2011-02-25 。 我该怎么做?

SqlDataAdapter.Fill方法慢

为什么在SQL Server Management Studio中运行需要<1秒时,使用此代码返回一个包含9列,89行的表的存储过程需要60秒才能执行(.NET 1.1)? 它在本地机器上运行很less/没有networking延迟,快速开发机器 Dim command As SqlCommand = New SqlCommand(procName, CreateConnection()) command.CommandType = CommandType.StoredProcedure command.CommandTimeout = _commandTimeOut Try Dim adapter As new SqlDataAdapter(command) Dim i as Integer For i=0 to parameters.Length-1 command.Parameters.Add(parameters(i)) Next adapter.Fill(tableToFill) adapter.Dispose() Finally command.Dispose() End Try 我的参数数组是键入的(对于这个SQL它只有一个参数) parameters(0) = New SqlParameter("@UserID", SqlDbType.BigInt, 0, ParameterDirection.Input, True, 19, 0, "", DataRowVersion.Current, […]

如何将数据表插入到SQL Server数据库表中?

我已经从一些Excel文件导入数据,并将其保存到数据表中。 现在我想将这些信息保存在我的SQL Server数据库中。 我在网上看到很多信息,但是我不明白: 有人说逐行插入另一个build议的批量更新…等:有什么更好的? 我应该使用OLE还是SQL Server对象(如dataAdapter或connection )? 我需要从他的Excel文件中读取员工每周工时报告,并将其保存到保存所有报告的数据库表(每周更新新数据库)。 Excel文件只包含当前一周的报告。

如何使用打印语句打印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个字符。所以我使用了两个打印语句。 问题是当我有一个脚本,这是说18000字符,然后我用3打印语句。 那么有没有一种方法可以根据脚本的长度来设置打印语句的数量?

在SQL Server中批量插入大量数据的最快方法是什么(C#客户端)

我遇到了一些性能瓶颈与我的C#客户端插入批量数据到SQL Server 2005数据库,我正在寻找方法,以加快这一进程。 我已经在使用SqlClient.SqlBulkCopy(基于TDS)来加速跨线的数据传输,这有助于很多,但我仍然在寻找更多。 我有一个简单的表格,如下所示: CREATE TABLE [BulkData]( [ContainerId] [int] NOT NULL, [BinId] [smallint] NOT NULL, [Sequence] [smallint] NOT NULL, [ItemId] [int] NOT NULL, [Left] [smallint] NOT NULL, [Top] [smallint] NOT NULL, [Right] [smallint] NOT NULL, [Bottom] [smallint] NOT NULL, CONSTRAINT [PKBulkData] PRIMARY KEY CLUSTERED ( [ContainerIdId] ASC, [BinId] ASC, [Sequence] ASC )) 我将数据块插入数据块中,平均大约300行,其中ContainerId和BinId在每个块中都是常量,Sequence值为0-n,并且根据主键对值进行预先sorting。 %磁盘时间性能计数器花了很多时间在100%,所以很明显,磁盘IO是主要问题,但我得到的速度比原始文件副本低几个数量级。 […]

multithreadingC#应用程序与SQL Server数据库调用

我有一个SQL Server数据库,在表main有50万条logging。 还有另外三个表称为child3 , child3和child3 。 child3 , child3 , child3和main之间的多对多关系通过三个关系表( main_child1_relationship , main_child2_relationship和main_child3_relationship 。 我需要读取main的logging,更新main ,还可以在关系表中插入新行,并在子表中插入新logging。 子表中的logging具有唯一性约束,因此实际计算(CalculateDetails)的伪代码将如下所示: for each record in main { find its child1 like qualities for each one of its child1 qualities { find the record in child1 that matches that quality if found { add a record to main_child1_relationship to […]