我很少使用SQL并且有一个我需要解决的独特问题。我有一个名为“j17_users”的表,其中包含各种列,其中两列是“name”和“username”。有数百行数据。
我需要将“name”的内容更改为“username”
例如,之前:
name: Jon Smith
username: sql_nub
后:
name: Sql_nub
username: sql_nub
好的,所以有些人可能已经注意到上面例子中第一个字母已经改为大写。如果我能在脚本中发生这种情况,那么奖励积分。如果它不可能那样......
答案 0 :(得分:2)
将第一个资本化:
UPDATE j17_users SET name = CONCAT(UCASE(MID(username,1,1)),MID(username,2))
答案 1 :(得分:1)
尝试使用此
Update j17_users set name = username
答案 2 :(得分:0)
update YOURTABLENAME set name=username
我不是mysql专家,但是我会调查一个能抓住最左边字符的函数(在MS SQL Server中它是“LEFT”函数,提供参数长度为1),大写它(在MSSQLServer中函数是调用UPPER),然后将其附加到用户名字段的其余部分。如果没有人给你答案(我怀疑),请在MySQL中查找相应的函数并更新上面的查询。
因此,MS SQL Server查询大致如下所示:
UPDATE YOURTABLENAME set name = UPPER(LEFT(username, 1)) + RIGHT(username, LEN(username)-1)
答案 3 :(得分:0)
尝试将字段设置为其他字段值
Update j17users set name = username
答案 4 :(得分:0)
这是我要使用的SQL。这很明确
UPDATE j17_users SET name = 'sql_nub' WHERE name='John Smith'
或者不那么明确
UPDATE j17_users SET name = username WHERE name='John Smith'
答案 5 :(得分:0)
尝试:
UPDATE j17_users set name = CONCAT(UPPER(LEFT(username, 1)), LOWER(SUBSTRING(username, 2))) where name not like username;
答案 6 :(得分:0)
Update j17_users set name =
CONCAT(UCASE(Left(username,1)),Right(username,Length(username)-1))