我有一张这样的表: -
Item Model
------------------------
A 10022009
B 10032006
C 05081997
我需要将Model列重新排列/转换为以下格式: -
Item Model
------------------------
A 20090210
B 20060310
C 19970805
“模型”列是字符。
由于
答案 0 :(得分:2)
您可以尝试以下
UPDATE MyTable
SET Model = substr(Model, 5, 4) + substr(Model, 3, 2) + substr(Model, 1, 2)
答案 1 :(得分:1)
正确这样做的方式,假设那些是日期字段(它们看起来确实如此),就是将这些数据放入date
类型列,而不是字符串类型列。
然后您可以使用DBMS提供的日期/时间操作函数,因为它们可以使用它们,包括能够以您想要的格式和顺序提取它们。
通常情况下,我会建议使用子字符串进行简单的文本更改,但是,由于您无论如何都要更改数据,最好的做法是咬紧牙关并更改架构,以便所有问题都消失(不只是一个他们)。
如果要将其保留为字符串类型,则使用的语法取决于您的DBMS。它可能是以下之一:
substring (column, start, length) # substr for Oracle, I think.
substring (column FROM start for length)