当我在2个整数之间进行除法时,我想指定小数位数,如:
select 1/3
Run Code Online (Sandbox Code Playgroud)
目前返回0.我希望它能回来0,33.
就像是:
select round(1/3, -2)
Run Code Online (Sandbox Code Playgroud)
但这不起作用.我怎样才能达到预期的效果?
在Windows控制面板中选择大字体大小(如125%或150%)时,每次按像素设置某些内容时,VCL应用程序中都会出现问题.
拿走TStatusBar.Panel.我已经设置了它的宽度,使它只包含一个标签,现在使用大字体标签"溢出".与其他组件相同的问题.
戴尔的一些新笔记本电脑已经默认设置为125%,因此在过去这个问题非常罕见,现在非常重要.
可以做些什么来克服这个问题?
有一个几乎相同,但并没有真正回答的问题在这里.
我正在将应用程序从MS SQL Server迁移到PostgreSQL.在代码中的许多地方我使用局部变量,所以我想进行需要较少工作的更改,所以请告诉我哪个是翻译以下代码的最佳方法?
-- MS SQL Syntax: declare 2 variables, assign value and return the sum of the two
declare @One integer = 1
declare @Two integer = 2
select @One + @Two as SUM
Run Code Online (Sandbox Code Playgroud)
这会返回:
SUM
-----------
3
(1 row(s) affected)
Run Code Online (Sandbox Code Playgroud)
如果它包含可以简化翻译的重要文件,我会使用Postgresql 8.4甚至9.0.
我需要对varchar(20)字段进行以下修改:
例如
'aèàç=.32s df'
Run Code Online (Sandbox Code Playgroud)
必须成为
'aeacsdf'
Run Code Online (Sandbox Code Playgroud)
是否有特殊的存储功能来轻松实现这一目标?
更新:请提供T-SQL而不是CLR解决方案.这是我临时做的解决方法,因为它暂时适合我的需求,无论如何使用更优雅的方法会更好.
CREATE FUNCTION sf_RemoveExtraChars (@NAME nvarchar(50))
RETURNS nvarchar(50)
AS
BEGIN
declare @TempString nvarchar(100)
set @TempString = @NAME
set @TempString = LOWER(@TempString)
set @TempString = replace(@TempString,' ', '')
set @TempString = replace(@TempString,'à', 'a')
set @TempString = replace(@TempString,'è', 'e')
set @TempString = replace(@TempString,'é', 'e')
set @TempString = replace(@TempString,'ì', 'i')
set @TempString = replace(@TempString,'ò', 'o')
set @TempString = replace(@TempString,'ù', 'u')
set @TempString = replace(@TempString,'ç', 'c')
set @TempString = replace(@TempString,'''', '')
set @TempString = …Run Code Online (Sandbox Code Playgroud) 我(在测试目的上)在sql server 2008 r2实例上有许多具有相同模式(基本上相同的表和列)的dbs.
我想要一个查询
SELECT COUNT(*) FROM CUSTOMERS
Run Code Online (Sandbox Code Playgroud)
在实例上的所有DB上.我希望得到2列:
1 - 数据库名称
2 - 的价值 COUNT(*)
例:
DBName // COUNT (*)
TestDB1 // 4
MyDB // 5
etc...
Run Code Online (Sandbox Code Playgroud)
注意:我假设该CUSTOMERS表存在于所有dbs中(除外master).
我不时会在Delphi中丢失断点功能.
我认为这是一个Delphi 2009问题,但现在我在Delphi XE中也有它.
在Delphi 2009中,通过删除.dproj文件,我使断点再次起作用.
在Delphi XE中,我无法显示破坏点.我有更新1应用了所有修补程序.
有没有人有办法解决吗?
我需要使用TRichEdit在运行时所讨论的执行RTF文本转换这里.我成功完成了这个但是我不得不设置一个虚拟形式作为父级,如果不能我不能填充TRichedit.Lines.(错误:缺少父级).我在下面粘贴我的功能,有人可以建议一种避免定义父母的方法吗?您是否也可以对此发表评论并告诉我您是否找到了更高效的想法?
注意:我需要一个字符串,而不是TStrings作为输出,这就是为什么它的设计是这样的.
function RtfToText(const RTF: string;ReplaceLineFeedWithSpace: Boolean): string;
var
RTFConverter: TRichEdit;
MyStringStream: TStringStream;
i: integer;
CustomLineFeed: string;
begin
if ReplaceLineFeedWithSpace then
CustomLineFeed := ' '
else
CustomLineFeed := #13;
try
RTFConverter := TRichEdit.Create(nil);
try
MyStringStream := TStringStream.Create(RTF);
RTFConverter.parent := Form4; // this is the part I don't like
RTFConverter.Lines.LoadFromStream(MyStringStream);
RTFConverter.PlainText := True;
for i := 0 to RTFConverter.Lines.Count - 1 do
begin
if i < RTFConverter.Lines.Count - 1 then
Result := Result + RTFConverter.Lines[i] + CustomLineFeed
else
Result …Run Code Online (Sandbox Code Playgroud) 在我的Delphi应用程序中,我想添加命令行参数以在登录屏幕中自动设置一些参数.
目前我有一个登录界面,用户可以在其中设置一些信息(如服务器,数据库,用户,密码,AuthenticationType,AUtoLogin等).
我使用MRU来填充字段.无论如何,在大型组织中,不需要让用户选择任何信息.为此,我在我的场景中可以做的最简单的事情是使用命令行参数.
我的问题是你如何建议选择命令行参数?我的意思是,我应该采用"位置"方法还是某种"标记"方法,例如:
MyProject.exe -s:MYSERVER -d:DATABASE
Run Code Online (Sandbox Code Playgroud)
要么
MyProject.exe MYSERVER DATABASE
Run Code Online (Sandbox Code Playgroud)
在第一种情况下,我需要循环使用所有参数ParamStr并"解码"它们的内容.如果他们以"-s:"开头,我知道接下来是服务器名称.第二种是更快速和更脏,但可能更有效.
如何管理包含"空格"的参数?是否可以使用ParamStr自动拦截它们,还是应该手动处理所有?(我的意思是有一种方法可以自动告诉ParamStr一个参数包含一个空格(比如使用大括号或其他东西).
什么是最佳做法?
从客户端应用程序我做了:
select * from table where Name = :Parameter
Run Code Online (Sandbox Code Playgroud)
然后在执行查询之前我做
:Parameter = 'John'
Run Code Online (Sandbox Code Playgroud)
这些参数不是搜索和替换,而是传递给服务器的实际参数.由于我需要详细测试其中的一些查询,如何在管理工作室中编写查询?
我想用参数编写查询并给参数赋值.如何才能做到这一点?
更新:
为了消除这里的混乱,我添加信息以更好地表达myseld.
当我执行正常查询时,我在sql server profiler中看到
select * from table where Name = 'John'
Run Code Online (Sandbox Code Playgroud)
当我执行参数化查询时,我看到:
exec sp_executesql N'select * from table
where Name = @P1',N'@P1 varchar(8000)','John'
Run Code Online (Sandbox Code Playgroud)
这就是我说它不是搜索和替换的原因.
我必须跨几个表运行一个select语句.我确信这些表会返回不同的记录.无论如何我使用UNION ALL.
当我确定表返回不同的记录时,在性能方面使用UNION或UNION ALL更好吗?
sql-server ×6
delphi ×4
breakpoints ×1
delphi-xe ×1
division ×1
ide ×1
migration ×1
parameters ×1
paramstr ×1
performance ×1
postgresql ×1
rounding ×1
rtf ×1
ssms ×1
t-sql ×1
trichedit ×1
union ×1
union-all ×1
windows ×1
windows-7 ×1