gpt4 book ai didi

文本字段内的 MySQL 条件变量

转载 作者:行者123 更新时间:2023-11-29 00:10:01 25 4
gpt4 key购买 nike

这可能看起来很奇怪,但是你能在文本字段中存储一个条件变量吗(或者可以像一个一样工作的东西)?

我正在创建一个按日期和类型对通知进行分组的通知系统,因此如果在同一天创建了 2 个或更多相同类型的通知,它会将通知分组在一起并提供一个计数(例如,Person1 和其他 3 个有做了某事)。

通知消息作为模板存储在表格中,例如

[[value]] has just done something

[[value]] 然后使用

替换为 Person1 的姓名(和 count OTHERS)
    REPLACE(t1.message, 
'[[value]]',
IF(t1.value_as_user=1,
CONCAT(t1.forename, ' ', t1.surname, IF((count((t1.id + DATE(t1.date)))-1)<>0,
CONCAT(' and ', (count((t1.id + DATE(t1.date)))-1), ' other'),
'')),
t1.value)) as 'message'

唯一的问题是,这意味着从语法上讲,消息将不再有意义,即“Person1 and 2 others has just done something”现在应该是“Person1 and 2 others have just done某事”

有没有一种方法可以在文本字段中选择一个字符串(就像我用 [[value]] 所做的那样)除了它应该像 [[has/有]] 并根据计数选择正确的?

最佳答案

有时您可以更改句子以避免语法差异:

Something has been done by Person1 and 2 others

(如果你读过 Strunk & White 的风格元素,你可能习惯于对被动语态退缩。上面的技巧可能看起来像是作弊。But don't let them bully you.)

否则,不,MySQL中没有可以分析字符串并找出其在英语中的语法用法并自动共轭动词的功能。

您可以使 [[has/have]] 成为字符串中的另一个元字段,然后根据计数将其替换为另一个表达式。

但坦率地说,我不会在 SQL 表达式中进行字符串格式化。不仅是因为这个原因,还因为与字面上任何其他语言(当然 Java 除外)相比,SQL 中的字符串操作很笨拙。

关于文本字段内的 MySQL 条件变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25627186/

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