我正在尝试连接a first middle maiden和lastname字段,并使用它来更新命名的单个字段fullname
对于每个用户,可以填充这4个字段的任何组合.从0到全部4.但是我还需要在每个名称之间留出一个空格(不是多个空格).
UPDATE nameTable SET fullname = CONCAT(first, middle, maiden, last);
Run Code Online (Sandbox Code Playgroud) 我在mysql数据库中有一个字段,我想在该字段中的所有值前面插入文本.
我想添加"F21 - "所以该字段将是"F21 - 产品名称"而不是"产品名称"
我需要一个简单的SQL查询
有任何想法吗?
我这样做:
data1 = pd.DataFrame({ 'b' : [1, 1, 1], 'a' : [2, 2, 2]})
data2 = pd.DataFrame({ 'b' : [1, 1, 1], 'a' : [2, 2, 2]})
frames = [data1, data2]
data = pd.concat(frames)
data
a b
0 2 1
1 2 1
2 2 1
0 2 1
1 2 1
2 2 1
Run Code Online (Sandbox Code Playgroud)
数据列顺序按字母顺序排列.为什么会这样?以及如何保持原始订单?
我正在使用Laravel.5.3以下是我的查询
$ProjectManagers = Employees::where("designation" , 1)
->pluck(DB::raw('CONCAT(first_name," ",last_name) AS name'),'id');
Run Code Online (Sandbox Code Playgroud)
这引发了一个错误
isset或empty中的非法偏移类型
我可以知道这是否是正确的方法?
如果我不使用联系和使用像
$ProjectManagers = Employees::where("designation" , 1)->pluck('first_name','id');
Run Code Online (Sandbox Code Playgroud)
哪个工作正确并给我结果
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[8] => Punit
)
)
Run Code Online (Sandbox Code Playgroud)
预期结果 :
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[8] => Punit Gajjar
)
)
Run Code Online (Sandbox Code Playgroud)
其中第一个名称和姓氏连接在一起.
function whatTheHeck(obj){
var arr = []
for(o in obj){
arr.concat(["what"])
}
return arr
}
whatTheHeck({"one":1, "two": 2})
Run Code Online (Sandbox Code Playgroud)
concat函数完全没有做任何事情.但是如果我在Firebug中的那一行放置断点并将该线作为手表运行它可以正常工作.并且for循环迭代两次,但最后arr仍然等于[].
我原本想要一种优雅的方式来模拟IE或旧浏览器中函数Array.concat()结果的getElementsByTagName功能,因为它似乎concat不受支持.只是,当然它是 - 返回的对象不支持它的原因是因为它不是一个Array.哎呀!
getElementsByTagName实际上返回一个NodeList.那么真正的问题是:什么是获取文档中所有表单元素的单个列表(输入,选择,文本区域,按钮)以循环遍历它们的好方法?不需要数组......单个NodeList也是完美的.
请注意,我使用IE6,因为这是企业内部网(尽管IE8很快).
我想出的答案是:
它变得更简单,并且可能更好地将代码放入一个单独的函数并使用不同的节点列表调用它三次,而不是担心将它们组合成一个的好方法.
我最终转而使用MooTools(几个小时后阅读所有不同框架的比较).所以现在,获取我想要的项目数组非常简单.我建议使用这样的javascript框架,而不是人们试图找出最好的做事方式.当然我都是为了实际学习原始语言(这就是为什么我暂时停止使用框架),但它并不总是最快速的方式,这在业务中通常很重要通过语言提高编码人员的能力.
更新:差不多2年后我会使用jQuery并完成它!
我正在使用此查询来生成博客存档菜单,如下所示:
SELECT CONCAT( MONTHNAME(published) , ' ' , YEAR(published)) AS monthyear,
COUNT(*) AS total
FROM blog_articles
WHERE status = 'Online' AND Year(published) = 2012
GROUP BY CONCAT( MONTHNAME(published) , ' ' , YEAR(published))
Run Code Online (Sandbox Code Playgroud)
预期结果:
January 2012 103
February 2012 87
March 2012 23
April 2012 99
Run Code Online (Sandbox Code Playgroud)
实际结果:

计数是正确的,但不是精神东方,它应该是:
May 2012 1
Run Code Online (Sandbox Code Playgroud)
我怎样才能摆脱有趣的角色而不是英语呢?
当我在phpMyAdmin中运行此查询时,字符很好.
UPDATE
我刚刚尝试运行conn.Execute("SET lc_time_names ='en_US';")并没有解决问题.为了检查,我使用了conn.Execute("SELECT @@ lc_time_names;")并返回"en_US".
另一个更新
在MySQL论坛上搜索相关问题,我发现另一个人抱怨同样的问题.MySQL大师说:
"这是着名的(臭名昭着的)服务器为数字和字符串的CONCAT返回错误的类型.必须使用(强制转换)表单才能使用,驱动程序无法判断真实类型是什么."
我不确定演员是什么或如何解决这个问题.
我找到了一篇有趣的小博文,解释了如何使用行号在宏中生成(半)唯一名称:
// Do magic! Creates a unique name using the line number
#define LINE_NAME( prefix ) JOIN( prefix, __LINE__ )
#define JOIN( symbol1, symbol2 ) _DO_JOIN( symbol1, symbol2 )
#define _DO_JOIN( symbol1, symbol2 ) symbol1##symbol2
Run Code Online (Sandbox Code Playgroud)
这里有两件事让我很困惑:
LINE_NAME宏JOIN在文件中声明之后才会工作?我认为C预处理器执行了线性传递,因此需要根据依赖性来定义宏,就像C函数在使用之前需要定义一样.JOIN和_DO_JOIN宏来获得正确的结果?在宏中具有这种间接级别似乎很奇怪.我有一种感觉,这两个问题的答案是相关的,并且与C预处理器评估宏的方式有关.(但是,由于我甚至认为这个例子无效,我对宏如何工作的直觉显然已经过时了.)
这段代码:
String s = "TEST";
String s2 = s.trim();
s.concat("ING");
System.out.println("S = "+s);
System.out.println("S2 = "+s2);
Run Code Online (Sandbox Code Playgroud)
结果输出:
S = TEST
S2 = TEST
BUILD SUCCESSFUL (total time: 0 seconds)
Run Code Online (Sandbox Code Playgroud)
为什么"TEST"和"ING"没有连接在一起?