SQL如何处理英文和中文分开

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL如何处理英文和中文分开相关的知识,希望对你有一定的参考价值。

Manager(Non-Profit and Charities) 非盈利性慈善机构管理分出来英文是:Manager(Non-Profit and Charities) 中文:是非盈利性慈善机构管理由于每个英文长度不同而且又有 空格如何能用SQL语句处理

参考技术A 单条sql查询句我不知道。写个自定义函数吧,用ascii判断每个字符。

如何处理 SQL 过程中多个表的输出?

【中文标题】如何处理 SQL 过程中多个表的输出?【英文标题】:How to process output of multiple tables from SQL procedure? 【发布时间】:2016-09-12 09:58:31 【问题描述】:

我有一个生成两个表作为输出的过程,但是当我运行它时会产生错误。我想将两个表都传递给局部变量。

DECLARE @model_data_stats TABLE (var VARCHAR(150), center FLOAT, scale FLOAT);
DECLARE @model_log_stats TABLE (var VARCHAR(150), zero INT, plusone INT, plustwo INT);
DECLARE @model_logit VARBINARY(MAX);

EXEC sp_execute_external_script @language = N'R',
     @script = N'
       #R script, irrelevant to question
       #the following variables are assigned:
       data_stats <- table
       log_stats <- table
       trained_model <- varbinary(max) data type
     ',
     @input_data_1 = N'SELECT * FROM dbo.Table',
     @params = N'@data_stats TABLE (var VARCHAR(150), center FLOAT, scale FLOAT) OUTPUT,
                 @log_stats TABLE (var VARCHAR(150), zero INT, plusone INT, plustwo INT) OUTPUT,
                 @trained_model VARBINARY(MAX)',
     @data_stats = @model_data_stats OUTPUT,
     @log_stats = @model_log_stats OUTPUT,
     @trained_model = @model_logit OUTPUT;

这是我运行代码时遇到的错误:

Msg 156, Level 15, State 1, Line 1
Incorrect syntax near the keyword 'TABLE'.

我什至不清楚TABLE 的哪个出现会产生错误,但我的猜测是定义输出变量的部分(在@params 之后)。 DECLARE 语句本身运行良好。

我的猜测是我以错误的方式声明过程的输出。我不确定正确的方法是什么。非常感谢您的帮助!

【问题讨论】:

【参考方案1】:

经过进一步研究,我发现我在这里尝试做的事情是不可能的。来自MS knowledge base:

在 SQL Server 2016 中,存储过程 sp_execute_external_script 的 R 输出仅限于单个 data.frame 或数据集。 (将来可能会取消此限制。)

但是,除了数据集之外,您还可以返回其他类型的输出。例如,您可以使用单个数据集作为输入来训练模型,但返回一个统计表作为输出,以及作为对象的训练模型。

【讨论】:

以上是关于SQL如何处理英文和中文分开的主要内容,如果未能解决你的问题,请参考以下文章

如何处理耗时的 SQL?

如何处理 Shapely 中的舍入误差

Oracle 如何处理给定的 SQL 语句

如何处理 SQL 代理作业错误?

如何处理 SQL 中的长比较

如何处理包含需要执行的 SQL 语句字符串的表列?