Использование MySQL Cast для поиска сообщений Wordpress с содержимым настраиваемого поля, эквивалентным Price - PullRequest
0 голосов
/ 25 октября 2010

Я использую настраиваемые поля в Wordpress, чтобы содержать значение валюты 'RRP'. Это поле основано на тексте, но я хочу иметь возможность выполнять запросы, в которых я могу вывести сообщения, которые имеют RRP в определенном диапазоне.

Я изучал функцию MySQL CAST, и это, кажется, правильно, но я не могу заставить ее работать. Все, что я использую, кажется, просто становится 0,00. Кто-нибудь может указать, где я иду не так?

SELECT wpostmeta.meta_value, CAST( 'wpostmeta.meta_value' AS DECIMAL( 10, 2 ) ) , wposts . *
FROM tc_posts wposts, tc_postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = 'rrp'
AND CAST( 'wpostmeta.meta_value' AS DECIMAL( 10, 2 ) ) < 9.99
ORDER BY wposts.post_date DESC

1 Ответ

2 голосов
/ 26 октября 2010

Я думаю, что вижу вашу проблему здесь.'wpostmeta.meta_value' даст вам 0 при касте, вы должны избавиться от этих кавычек, так как это значение, из которого вы хотите разыграть, а не имя поля:

SELECT wpostmeta.meta_value, CAST(wpostmeta.meta_value AS DECIMAL(10, 2)), wposts.*
FROM tc_posts wposts, tc_postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = 'rrp'
AND CAST(wpostmeta.meta_value AS DECIMAL(10, 2)) < 9.99
ORDER BY wposts.post_date DESC

Cheers.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...