【问题标题】:How do I create a QUOTENAME function in mySQL如何在 mySQL 中创建 QUOTENAME 函数
【发布时间】:2012-05-27 20:12:49
【问题描述】:

我想在 mySQL 中创建一个 QUOTENAME() 函数,就像 M$ SQL Server 中存在的那样。

这就是它的作用:

QUOTENAME 返回一个带有分隔符的 Unicode 字符串 输入字符串是一个有效的标识符。 QUOTENAME 函数使用这个 语法:

QUOTENAME ( 'string' [ , 'delimiter' ] )

您传递 QUOTENAME 一个要分隔的字符串和一个单字符的字符串 用作分隔符。分隔符可以是方括号或 单引号或双引号。

这可能吗?

【问题讨论】:

  • +1 好问题。如果你只想引用一个值,总是有QUOTE,但对于标识符,我到目前为止使用的是CONCAT('`', REPLACE(str, '`', '``'), '`'),我从来没有感到完全满意...
  • 保留字和带有特殊字符的标识符也必须用'`'引用。

标签: mysql function


【解决方案1】:

你可以从这样的事情开始 - 以 eggyal 的评论为基础

DROP FUNCTION IF EXISTS QUOTENAME;

CREATE FUNCTION QUOTENAME (s varchar(50), d CHAR(1))
RETURNS VARCHAR(52)
RETURN CONCAT (d, REPLACE(s, d, CONCAT(d,d)), d);

然后添加您的特殊情况和附加功能。

【讨论】:

    猜你喜欢
    • 2012-11-26
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 2012-07-30
    • 2014-12-06
    • 2023-03-26
    • 2022-08-16
    • 2017-02-16
    相关资源
    最近更新 更多