使用mysql将字符串中的最后一个字母带到第一个字母位置的sql查询

使用mysql将字符串中的最后一个字母带到第一个字母位置的sql查询,mysql,sql,Mysql,Sql,我有一个名为“Supervisor”的表名,它来自Mysql数据库中的一个表JobData。在“主管”栏中,记录的格式为“SPARKSL”、“ADITYAG”、“KENTONS”、“DRISCOLLJ”等。我想将这些记录转换为小写,并将最后一个字母转换为第一个字母。例如,“SPARKSL”应更改为“lsparks”格式,此格式应应用于所有剩余的记录 有人能帮我做一个SQL查询吗?你基本上可以用left()和right()来提取部分,concat()将它们放在一起(按相反顺序)和lower()转换

我有一个名为“Supervisor”的表名,它来自Mysql数据库中的一个表JobData。在“主管”栏中,记录的格式为“SPARKSL”、“ADITYAG”、“KENTONS”、“DRISCOLLJ”等。我想将这些记录转换为小写,并将最后一个字母转换为第一个字母。例如,“SPARKSL”应更改为“lsparks”格式,此格式应应用于所有剩余的记录


有人能帮我做一个SQL查询吗?

你基本上可以用
left()
right()
来提取部分,
concat()
将它们放在一起(按相反顺序)和
lower()
转换成小写

SELECT lower(concat(right(supervisor, 1), left(supervisor, length(supervisor) - 1)))
       FROM jobdata;

或者,如果您需要更新:

UPDATE jobdata
       SET supervisor = lower(concat(right(supervisor, 1), left(supervisor, length(supervisor) - 1)));

(但请注意,这将更新所有行!如果您不希望发生这种情况,请添加一个
WHERE
子句。)

谢谢您的回复@sticky bit。但是,不幸的是,上面的concat查询不起作用。我收到一个名为“length不是可识别的内置函数名”的错误。我不想使用更新查询,因为该表每天都会更新。所以,我不想每天都回来用更新来更新表query@adityagoud . . .
length()
绝对是MySQL()中可用的函数。如果您没有使用MySQL,请找出您正在使用的数据库,并用适当的标记询问另一个问题。我使用的数据库是MSSQL服务器,而不是MySQL。有人知道如何解决这个问题吗issue@adityagoud:SQL Server中的等效项是
len()
。下次正确标记,不要写“…在Mysql数据库中…”,以防止此类误解。