Mysql 在列中交换数字

Mysql 在列中交换数字,mysql,Mysql,可以在表格的一列内交换数字吗? 数字总是相同的长度,即8。这里有一个例子: ^ before ^ after ^ |20150620|06202015| 这是一种日期格式,我想在年底和第一个月交换年份 是否仅在MySQL上才有可能 感谢高级是的,您可以使用CONCAT、RIGHT和LEFT的组合: SELECT CONCAT(RIGHT(column, 4), LEFT(column,4)) as flipped from table 当然,您也可以在UPDATE语句中使用它,如: UPDA

可以在表格的一列内交换数字吗? 数字总是相同的长度,即8。这里有一个例子:

^ before ^ after ^
|20150620|06202015|
这是一种日期格式,我想在年底和第一个月交换年份

是否仅在MySQL上才有可能


感谢高级

是的,您可以使用CONCAT、RIGHT和LEFT的组合:

SELECT CONCAT(RIGHT(column, 4), LEFT(column,4)) as flipped from table
当然,您也可以在UPDATE语句中使用它,如:

UPDATE table set column = CONCAT(RIGHT(column, 4), LEFT(column,4))

是的,你可以。考虑到该列是
string/varchar
类型,您可以使用
LEFT/RIGHT
之类的字符串函数来完成此操作

UPDATE your_table 
SET your_string_type_date_column = RIGHT(your_string_type_date_column, 4) + LEFT(your_string_type_date_column, 4)

这个专栏是什么类型的?是的,有可能。专门研究MySQL字符串函数
SUBSTR()
CONCAT()
@michael,我不这么认为;唯一不同的是,我们的答案是,您使用的是
CONCAT
函数,而我使用的是concatation运算符。嗨,Michael,是的,非常感谢您的两个查询,它工作起来很有魅力。