gpt4 book ai didi

php - 在 MYSQL 和 PHP 中显示值直到第一个空格

转载 作者:行者123 更新时间:2023-11-29 09:46:30 28 4
gpt4 key购买 nike

我试图在 MYSQL 和 PHP 中显示直到第一个空格为止的值。例如,

1 items from 29
100 items from 10

在第一个示例中,我只想显示数字 1,在第二个示例中,我只想显示数字 100,依此类推。这是我的代码,

$ordering = "SELECT t.id, t.cart_id, t.full_name, t.description, t.txn_date, t.grand_total, c.paid, c.shipped
FROM transactions t
LEFT JOIN cart c ON t.cart_id = c.id
WHERE c.paid = 1 AND c.shipped = 0
ORDER BY t.txn_date

现在,我想替换t.description与显示的代码直到第一个空格。我在网上搜索并找到了代码:

SELECT REVERSE(RIGHT(REVERSE(YourColumn), LEN(YourColumn) - CHARINDEX(' ', REVERSE(YourColumn))))

所以,我替换了 t.description与此:

$ordering = "SELECT t.id, t.cart_id, t.full_name, t.REVERSE(RIGHT(REVERSE(description), LEN(description) - CHARINDEX(' ', REVERSE(description)))), t.txn_date, t.grand_total, c.paid, c.shipped
FROM transactions t
LEFT JOIN cart c ON t.cart_id = c.id
WHERE c.paid = 1 AND c.shipped = 0
ORDER BY t.txn_date

是吗?最好的方法是什么?

最佳答案

对于 MySQL,最简单的方法是使用 SUBSTRING_INDEX例如

SELECT SUBSTRING_INDEX('100 items from 10', ' ', 1)

如果第三个参数为正(count,在本例中为 1),它将返回第二个参数出现的 count 左侧的所有内容(在本例中为空格) )。所以这个调用返回第一个空格左侧的所有内容:

100

Demo on dbfiddle

在你的查询中你会写

$ordering = "SELECT t.id, t.cart_id, t.full_name, SUBSTRING_INDEX(t.description, ' ', 1) AS description, t.txn_date, t.grand_total, c.paid, c.shipped
FROM transactions t
LEFT JOIN cart c ON t.cart_id = c.id
WHERE c.paid = 1 AND c.shipped = 0
ORDER BY t.txn_date

关于php - 在 MYSQL 和 PHP 中显示值直到第一个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55567110/

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