我正在SQL Server中编写一个SQL查询,我需要用一个字符串值替换多个字符串值.例如
Product Quantity
------- --------
Apple 2
Orange 3
Banana 1
Vegetable 7
Dairy 6
Run Code Online (Sandbox Code Playgroud)
会成为
Product Quantity
------- --------
Fruit 2
Fruit 3
Fruit 1
Vegetable 7
Dairy 6
Run Code Online (Sandbox Code Playgroud)
我知道如何执行此操作的唯一方法是在SELECT子句中使用嵌套的REPLACE.
SELECT
REPLACE('Banana', REPLACE('Orange', REPLACE('Banana', Product, 'Fruit'),
'Fruit'), 'Fruit') AS Product
FROM
Table
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法?
编辑:产品类别中可能还有其他值.见上面编辑的例子.
我已经使用PHP一段时间了,并且已经很好地使用了CodeIgniter,这是一个很棒的框架.我正在开始一个新的个人项目,上次我正在考虑使用什么(PHP vs ROR)我使用PHP因为我听到ROR的可扩展性问题,特别是在阅读了Twitter开发人员不得不说的内容之后.可扩展性在ROR中仍然是一个问题,还是有改进?
我想学习一门新语言,ROR似乎很有趣.PHP完成了工作,但众所周知,它的语法和组织都很难看,感觉就像一个大黑客.
说我有以下代码:
% Cellmode_subfunction_test.m
%% Cell 1
foo(1);
%% Cell 2
foo(2);
%% Definition of the foo subfunction
function foo(num)
disp(['num=' num2str(num)]);
Run Code Online (Sandbox Code Playgroud)
如何测试最终定义的子功能的单元1和单元2?
编辑:基本上这个例子中的每个单元格执行一些冗长的计算,所以我想分别测试和调试它们.我正在使用子函数来抽象和重用常用功能,因为到目前为止,这个功能仅用于这个特定的应用程序,我真的不想将foo放在一个单独的m文件中.
编辑(2):我只记得我模糊地回忆单元模式只在matlab脚本中工作而不是在函数m文件中,并且在这样的脚本中不允许使用子函数和嵌套函数.因此,我所要求的可能是不可能的.
虽然下面给出的匿名函数解决方案可能有点限制,因为它只允许单个表达式函数,但实际上它确实足以满足我的想法,因此我已经接受它作为我的问题的解决方案.
查看此代码:
function testprecision(){
var isNotNumber = parseFloat('1.3').toPrecision(6);
alert(typeof isNotNumber); //=> string
}
Run Code Online (Sandbox Code Playgroud)
我原以为是一个数字.如果'isNotNumber'应该是一个实数,重铸是解决方案:
alert(typeof parseFloat(isNotNumber)) //=> number
Run Code Online (Sandbox Code Playgroud)
[编辑]感谢您的回答.我总结说,精度不是那么精确.它可以表示数字的总位数或小数位数.荷兰的大多数人(我来自哪里)都会想到"分数位数"的精确度.javascript toPrecision方法涉及第一个表示,因此这是令人困惑的.无论如何,这种方法可以引入"虚假精度",对吗?对于第二个含义,我们有固定,同样适用于此(返回字符串,错误精度的可能性).
无论如何,我重新发明轮子是我的主要爱好,我利用我在这里收集的知识,围绕构建一个javascript浮动对象.也许它对那里的某个人有用,或者你们中的一个人有更好的想法?
function Float(f,nDec) {
var Base = this,val;
setPrecision( nDec || 2 );
set( f || 0, nDec || Base.precision );
Base.set = set;
Base.ndec = setPrecision;
/** public setprecision
* sets a value for the number of fractional
* digits (decimals) you would like getf to
* return. NB: can't be more than 20. …
Run Code Online (Sandbox Code Playgroud) 我使用托管C++创建了一个dll.现在我正试图从C#中使用它.我已将Object添加到项目引用中.对象浏览器在dll中正确显示对象,对象浏览器中dll的路径对应于实际路径.
但是,当我运行C#程序时,它会抱怨:
未处理的异常:System.IO.FileNotFoundException:找不到指定的模块.(来自HRESULT的异常:0x8007007E)
知道还有什么必须做的吗?
谢谢.
我有一个关于Java中泛型的问题,即使用通配符.我有一个像这样的示例类GenClass:
public class GenClass<E> {
private E var;
public void setVar(E x) {
var = x;
}
public E getVar() {
return var;
}
}
Run Code Online (Sandbox Code Playgroud)
我有另一个简单的类:
public class ExampleClass {
}
Run Code Online (Sandbox Code Playgroud)
我写了以下测试类:
public class TestGenClass {
public static void main(String[] str) {
ExampleClass ec = new ExampleClass();
GenClass<ExampleClass> c = new GenClass<ExampleClass>();
c.setVar(ec);
System.out.println(c.getVar()); // OUTPUT: ExampleClass@addbf1
}
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我使用通配符并在测试类中写入:
GenClass<?> c = new GenClass<ExampleClass>();
Run Code Online (Sandbox Code Playgroud)
在以下的地方:
GenClass<ExampleClass> c = new GenClass<ExampleClass>();
Run Code Online (Sandbox Code Playgroud)
编译器对这个新语句没有任何问题,但它抱怨
c.setVar(ec);
Run Code Online (Sandbox Code Playgroud)
它说"方法(setVar())不适用于参数(ExampleClass)".为什么我收到此消息?
我认为我使用通配符的方式使得引用变量c的类型为GenClass,它将接受任何类作为参数 - 在EI的位置上将具有任何类.这只是变量的声明.然后我用它初始化它
new GenClass<ExampleClass>()
Run Code Online (Sandbox Code Playgroud)
这意味着我创建了一个GenClass类型的对象,它具有一个类型为ExampleClass的参数.所以,我认为现在GenClass中的E将是ExampleClass,我将能够使用方法setVar(),将其作为类型为ExampleClass的参数.这是我的假设和理解,但似乎Java不喜欢它,我不对.任何评论表示赞赏,谢谢.
我一直在使用Tigris社区任务使用XMLUpdate任务更新各种AppSettings键.
现在,我想在system.net部分添加一个节点来设置代理.
我宣布了一处房产
<PropertyGroup>
<proxy><defaultProxy> <proxy usesystemdefault="False" proxyaddress="http://IPADDRESS:PORT" /> </defaultProxy></proxy>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
和XMLUpdate任务看起来像
<XmlUpdate
Prefix="n"
Namespace="http://schemas.microsoft.com/.NetConfiguration/v2.0"
XmlFileName="$(BuildDir)\Builds\_PublishedWebsites\Presentation\Web.config"
XPath="/n:configuration/n:system.net"
Value="$(proxy)" />
Run Code Online (Sandbox Code Playgroud)
这会更新Web配置,但它会直接从属性组更新,即不转换尖括号的转义字符.有没有人有任何想法?
如果您有一个List,如果存在指定的属性或属性集,如何返回该项?
public class Testing
{
public string value1 { get; set; }
public string value2 { get; set; }
public int value3 { get; set; }
}
public class TestingList
{
public void TestingNewList()
{
var testList = new List<Testing>
{
new Testing {value1 = "Value1 - 1", value2 = "Value2 - 1", value3 = 3},
new Testing {value1 = "Value1 - 2", value2 = "Value2 - 2", value3 = 2},
new Testing {value1 = "Value1 - 3", value2 = …
Run Code Online (Sandbox Code Playgroud) 如何使用TortoiseSVN删除源文件夹?
给定子例程引用,有没有办法找出声明子例程的文件和行号?警告和朋友似乎做对了,但我需要外部.这是我的测试程序:
#!/usr/bin/perl -l
use strict;
use warnings;
use B;
# line 99 'bin/some_code.pl'
{
no strict 'refs';
print B::svref_2object(\*{'Foo::some_sub'})->LINE;
print B::svref_2object(\&Foo::some_sub)->GV->LINE;
}
Foo::some_sub();
package Foo;
# line 23 'bin/some_file.pl'
sub some_sub {
warn "Got to here";
}
Run Code Online (Sandbox Code Playgroud)
那输出:
102
102
Got to here at 'bin/some_file.pl' line 24.
Run Code Online (Sandbox Code Playgroud)
线路信息不是我所期望的,所以我假设我做错了(B :: GV有一个相应的FILE方法,但是直到我让LINE工作,它对我来说没用多少).
是否有其他方法来获取此信息,我在上面的代码中做错了什么?
更新:事实证明,如果我没有使用行指令,'FILE'和'LINE'方法似乎工作正常.看起来它可能是B :: GV模块中的错误.
c# ×2
.net ×1
c++ ×1
generics ×1
java ×1
javascript ×1
managed ×1
matlab ×1
msbuild ×1
numbers ×1
perl ×1
ruby ×1
scalability ×1
sql ×1
sql-server ×1
svn ×1
t-sql ×1
tortoisesvn ×1
types ×1
web-config ×1
xml ×1