gpt4 book ai didi

mysql - 更改长文本格式 SQL

转载 作者:行者123 更新时间:2023-11-29 19:57:20 25 4
gpt4 key购买 nike

我需要一些帮助,我有 WordPress 表“wp_postmeta”,其中包含 4 列“meta_id”、“post_id”、“meta_key”和“meta_value”。

"meta_key" -> varchar

"meta_value" -> longtext

问题是:我有一些包含内容的行

meta_key = "limit_date"

这会返回带有 dd/mm/yyyy 格式的日期的行,我想以 yyyy/mm/dd 格式转换此数据

SELECT * 
FROM wp_postmeta
WHERE meta_key="limit_date"

返回我需要更改的所有行,并且我已经尝试使用 CONVERT 函数进行一些查询,实际上我已经接近获得“psycho”,并且我的低 SQL 知识瞬间消失......有任何方向吗?有什么帮助吗?也许我需要再去喝一杯咖啡?也许我正在寻找一些根本不可能的东西......

最佳答案

我无法仅使用 SQL 找到解决方案,因此我使用 php 来获取所有结果,之后我以正确的方式格式化结果,然后更新表格,我确信有一些更快的方法来做到这一点,但这对我有用

$link =new mysqli("localhost","user","passw","ddbb");
if($link->connect_error){
die("Not connected");
}
$sql = "SELECT *
FROM wp_postmeta
WHERE meta_key='fecha_inicio'";

$result = $link->query($sql);

$update;
$aux=0;
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
$update[$aux][0]=$row['meta_id'];
$update[$aux][1]=$row['post_id'];
$update[$aux][2]=$row['meta_key'];
$update[$aux][3]=$row['meta_value'];
$aux++;
}
}else{
echo "0 rows";
}
print_r($update);

$aux=0;
foreach($update as $row){
$aux2=$row[3];


$aux3="";
if(strlen($aux2)>0){
$aux3 = substr($aux2,-4);
$aux3 .= "/";
$aux3 .= substr($aux2,-7,2);
$aux3 .= "/";
$aux3 .= substr($aux2,-10,2);
}


$update[$aux][3]=$aux3;
$aux++;
}

foreach($update as $row){
$sql = "UPDATE wp_postmeta SET meta_value='".$row[3]."' WHERE meta_id=".$row[0].";";
echo "<h1>".$sql."</h1></br></br></br>";
if ($link->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $link->error;
}
}


$link->close();`

关于mysql - 更改长文本格式 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40638040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com