我正在尝试创建一个SELECT语句来选择名称为max的行。5个字符和。就在这个名字里。我只想要第一个,所以我在语句中包含了一个限制1。
我做过以下工作
searchstring = "."
sql = "SELECT * FROM Table WHERE NAME LIKE %s LIMIT 1"
val = (("%"+searchstring+"%"),)
cursor.execute(sql, val)
但我不知道怎么把名字的长度写进我的声明中。
我的“桌子”如下:
ID NAME
1 Jim
2
我已经创建了一个SQL函数,它实现了COUNT(*)操作的更快的替代方案:
create function fast_row_count (@table_name varchar)
returns bigint
as
begin
declare @row_count int;
set @row_count =
(select sum(row_count) from sys.dm_db_partition_stats with (nolock) where object_id = object_id(@table_name));
return @row_count
end
go
执行时,
我试图编写一个使用计算值的查询,然后将此计算值转换为字符串,以便向末尾添加'%‘。
然而,我没有成功地提出以下问题:
select
a.Subjects, a.RequiredTime, b.HRS,
CAST(((b.HRS / a.RequiredTime)*100) as VARCHAR) as PercentageComplete
from
Subjects a
inner join
V_SUMMARYHOURSSUBJECT b on a.Subjects = b.Subject
这是查询生成的错误:
第1行的错误动态SQL错误SQL
我在将动态SQL查询/行数据转换为列名时遇到了一个小/大问题。我有这个链接:
但是如果我添加更多的数据,查询就不起作用了。我收到错误:
You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near 'FROM test
GROUP BY nid' at line 2
我的数据库现在很大。在接下来的几天里,我创建了一个空的数据库。我添加了名称(另一个表,连接id到"
我创建了一个SQL Server函数,它将varchar转换为十进制,但它正在删除数字,然后返回一个整数。
Create FUNCTION [dbo].[ToMoney]
(
@Amount nvarchar
)
RETURNS decimal(14,2)
AS
BEGIN
-- Declare the return variable here
DECLARE @finalAmount as decimal(14,2);
IF Isnumeric(isnull(@amount, 0)) = 1
SET @finalAmount = CAST(@amount as
我用Oracle编写了一些基本SQL,它按预期运行。它选择一个客户端、他们的ID以及他们可以提供的“服务”。
但是,当我添加从VBA代码传递的变量时,会出现错误消息ORA-00907: Missing Right Parenthesis。这是由代码中的OR造成的。
AND C.CURRENCY LIKE :cmbSelectAccountCcy
AND (S.SERVICEID LIKE :cmbSelectServiceType OR S.SERVICEID LIKE :cmbSelectServiceType2)
AND .... etc
如果我删除OR,它将按预期运行。OR是包含(末尾)
我正在尝试将Oracle (PLSQL)代码转换为使用SQL Server 2012数据库。我正在转换Oracle NVL 2函数。我在SQL中看到错误,isNULL需要2个参数。
我尝试转换的Oracle是:
CASE WHEN LTrim(Rtrim(appointtype1)) in ('PRO','NOA')
THEN Nvl2(d.phonearea,To_Char(d.phonearea)||'/','')||' '||SubStr(To_Char(d.phonenbr ),1,3)||&
我在SQL Server 2005中有以下测试表:
CREATE TABLE [dbo].[TestTable]
(
[ID] [int] NOT NULL,
[TestField] [varchar](100) NOT NULL
)
填充了:
INSERT INTO TestTable (ID, TestField) VALUES (1, 'A value'); -- Len = 7
INSERT INTO TestTable (ID, TestField) VALUES (2, 'Another value '); -- Len = 13