我正在尝试找到一种有效的,通用的方法来将字符串转换为PL/SQL中的数字,其中NLS_NUMERIC_CHARACTERS设置的本地设置是不可预测的 - 并且我不会触及它.输入格式是编程标准"123.456789",但小数点两边的位数未知.
select to_number('123.456789') from dual;
-- only works if nls_numeric_characters is '.,'
select to_number('123.456789', '99999.9999999999') from dual;
-- only works if the number of digits in the format is large enough
-- but I don't want to guess...
Run Code Online (Sandbox Code Playgroud)
to_number 接受第三个参数,但在这种情况下你也要指定第二个参数,并且没有"默认"的格式规范......
select to_number('123.456789', null, 'nls_numeric_characters=''.,''') from dual;
-- returns null
select to_number('123.456789', '99999D9999999999', 'nls_numeric_characters=''.,''') from dual;
-- "works" with the same caveat as (2), so it's rather pointless...
Run Code Online (Sandbox Code Playgroud)
还有另一种使用PL/SQL的方法:
CREATE OR REPLACE
FUNCTION STRING2NUMBER (p_string varchar2) RETURN NUMBER
IS …Run Code Online (Sandbox Code Playgroud) 如何为当前文件夹中的每个文件/文件夹执行某个命令?
我已经开始使用它作为基本脚本,但这似乎只在使用临时文件时才有效,而且我真的不喜欢这个ideea.还有其他方法吗?
FOLDER=".";
DIRS=`ls -1 "$FOLDER">/tmp/DIRS`;
echo >"/tmp/DIRS1";
while read line ; do
SIZE=`du "$FOLDER$line"`;
echo $SIZE>>"/tmp/DIRS1";
done < "/tmp/DIRS";
Run Code Online (Sandbox Code Playgroud)
对于任何感兴趣的人,我想制作一个文件夹列表,按其大小排序.这是最终结果
FOLDER="$1";
for f in $FOLDER/*; do
du -sb "$f";
done | sort -n | sed "s#^[0-9]*##" | sed "s#^[^\./]*##" | xargs -L 1 du -sh | sed "s|$FOLDER||";
Run Code Online (Sandbox Code Playgroud)
这导致 du -sb $FOLDER/* | sort -n | sed "s#^[0-9]*##" | sed "s#^[^\./]*##" | xargs -L 1 du -sh | sed "s|$FOLDER||";
我正在编写一个应该尽可能实时处理大量数据(1-10 GB之间)的应用程序.
数据存在于硬盘上的多个二进制数据文件中,每个文件在几kb到128MB之间.当进程开始时,首先确定实际需要哪些数据.然后通过用户界面获取一些用户设置,然后通过块处理数据块,其中总是将文件加载到存储器中,处理,然后从存储器中清除.此处理应该很快,因为用户可以更改某些设置,然后重新处理相同的数据,并且此用户交互应尽可能流畅.
现在从磁盘加载是一个相当大的瓶颈,我想在已确定将使用哪些文件的阶段预先加载数据.但是 - 如果我预加载太多数据,操作系统将使用虚拟内存,我将有大量的页面故障,使处理速度更慢.
如何确定要预加载多少数据以保持页面故障低?我可以以某种方式影响我想要保留在内存中的数据吗?
谢谢!
//编辑:我目前正在Windows 7 64上运行(但应用程序是32位)并且应用程序不需要在任何计算机上运行 - 仅在特定计算机上运行,因为这是一个研究项目.
我写了一个函数,将一个类的属性复制到另一个类,所以制作一个对象的副本.
所以像
MyObject myObject = myOtherObject.MyCustomCopy(myObject)
Run Code Online (Sandbox Code Playgroud)
其中myObject和myOtherObject属于同一类型.我这样做是基本做的
myObject.prop1 = myOtherObject.prop1
myObject.prop2 = myOtherObject.prop2
myObject.prop3 = myOtherObject.prop3
return myObject
Run Code Online (Sandbox Code Playgroud)
我很确定在过去我使用.NET对象自动完成这个,通过反思我猜,但不记得了......或者我想象这样的方法存在?
是的我知道自动映射器,但我确信(现在不是那么多)有一个.NET对象可以完成这项工作.也许不吧!
我们正在从Mercurial迁移到Git以实现我们的工作流程,我有两个小问题.
首先,是否可以将本地存储库直接"克隆"到空的远程(ssh)目录中?
目前,当我们创建一个新网站时,我们基本上在本地克隆我们的CMS,配置它,然后我们在中央存储库和网络服务器(hg clone . ssh://account@server/www)上克隆它.这样我们就可以即时访问推/拉优势.
这让我想到了第二个问题,即远程部署.
目前使用Mercurial,我在远程repos中有一个简单的钩子,它hg up在收到变更集时执行.
为了对Git做同样的事情我遵循了这里的说明:http://caiustheory.com/automatically-deploying-website-from-remote-git-repository但我想将.git目录保存在网站root中就像Mercurial的情况一样(它受Apache配置保护,我无法为所有帐户导出GIT_DIR,因为有些网站有多个网站/回购).
是否可以在没有将工作目录与回购分离的情况下进行基本相同的设置?
我有两个 Windows 服务器 X 和 Y。
我在 Y 上有 SQL Server 数据库。X 上没有 SQL Server Management Studio。如何在不使用(安装)X 上的 SQL Server 的情况下从 X 访问 Y 上的数据库。
谢谢你的帮助
我即将结束我在C#中创建的项目.不幸的是,目标硬件只附带了C/C++的编译器.我父亲是一名嵌入式程序员,因此他将制作必要的代码以与硬件集成,但与此同时,我需要找到一种翻译语言的方法.免费翻译是一个非常高的偏好,因为我目前对资金非常紧张.
虽然我不熟练使用C++,但是我的翻译很脏,我应该能够找出使其运行所需的大部分内容.
编辑:
目标平台是mbed Microcontroller
我有一张桌子tr,你可以点击它.这些tr可以包含a.
<tr id="12" href="/guestbook/edit?id=12">
<td class="main">
<strong>Remi</strong>
<a href="mailto:xxx@xxx">xxx@xxx</a>
</td>
<td class="date">05-11-2010 11:34</td>
<td class="number">ip</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
这是检测tr上的点击的jquery代码
$('table tr[href]').click(function(e){
document.location.href = $(this).attr('href');
});
Run Code Online (Sandbox Code Playgroud)
例如,当我单击电子邮件地址时,首先打开我的电子邮件客户端(这很好),然后加载页面编辑(这很糟糕).是否有可能检测到我点击过的元素?如果它是A或TR?
我想知道是否有人可以解决这个问题..
我有一个选项组下拉列表用于选择一个人的种族 - 但是它没有将值存储在模型中.
视图模型
[UIHint("EthnicOriginEditorTemplate")]
[DisplayName("Question 6: Ethnic Origin")]
public int EthnicOrigin { get; set; }
Run Code Online (Sandbox Code Playgroud)
助手:GroupDropList.Cs
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;
using System.Web.Routing;
namespace Public.Helpers
{
public static class GroupDropListExtensions
{
public static string GroupDropList(this HtmlHelper helper, string name, IEnumerable<GroupDropListItem> data, int SelectedValue, object htmlAttributes)
{
if (data == null && helper.ViewData != null)
data = helper.ViewData.Eval(name) as IEnumerable<GroupDropListItem>;
if (data == null) return string.Empty;
var select = new TagBuilder("select");
if (htmlAttributes != null)
select.MergeAttributes(new …Run Code Online (Sandbox Code Playgroud) 所以,我有一个TClientSocket,它必须在一个OnRead事件中接收超过10KB的数据.但是当事件被触发时,它只获得8KB的数据,然后事件再次触发其余的数据.
为什么会这样?