小编Rob*_*obH的帖子

根据表sql中的行替换字符串中的字符

我需要用一些映射的字符替换字符串中的字符列表.

我有一个带有2列的'dbo.CharacterMappings'表:'CharacterToFilter'和'ReplacementCharacter'.

假设此表中有3条记录:

Filter   Replacement    
$        s
@        a
0        o
Run Code Online (Sandbox Code Playgroud)

如何根据这些映射替换字符串中的所有过滤字符?

即'Hell0 c @ t $'需要成为'Hello cats'.

我不能想到任何方法这样做而不诉诸表变量然后循环它.即具有带'count'列的表变量,然后使用循环根据此列一次选择1行.然后我可以使用REPLACE函数一次更新一个字符.

编辑:我应该注意,我总是想要删除这些字符(我不需要担心$ 5 - > s5).

sql sql-server-2008

6
推荐指数
2
解决办法
2万
查看次数

用params执行bash中的.sql文件

我想在bash文件中执行.sql文件,但我需要将参数从bash文件传递给.sql.我认为这是一个简单的解决方案,但我无法弄清楚.

这是我到目前为止:

.SQL文件

SET @columnValue = &1;
UPDATE tblTest SET Description = @columnValue;
Run Code Online (Sandbox Code Playgroud)

Bash文件

#!/bin/bash
columnValue=$1
mysql -uroot -ppassword testDB < SQLscript.sql $columnValue
Run Code Online (Sandbox Code Playgroud)

贝壳

sh myBashFile.sh "testColumnValue"
Run Code Online (Sandbox Code Playgroud)

谁能告诉我我做错了什么?

mysql sql linux bash shell

6
推荐指数
1
解决办法
3694
查看次数

Distinct子句导致类型错误

尝试在ASP.net MVC实体框架中执行.Distinct()子句,但在以下代码中收到错误:

var tblGlobalLogOnLogOffStudentBans = db.tblGlobalLogOnLogOffStudentBans.Include(t => t.tblGlobalLogOnLogOffTime).OrderBy(t => t.StartBan).Take(10).Select(t => t.UserID).Distinct();
Run Code Online (Sandbox Code Playgroud)

错误是:

异常详细信息:System.InvalidOperationException:传递到字典中的模型项的类型为'System.Collections.Generic.List`1 [System.Nullable .1 [System.Int32]]',但此字典需要类型的模型项'System.Collections.Generic.IEnumerable`1 [Dashboard.tblGlobalLogOnLogOffStudentBan]'.

t => t.UserID是一个Int,但在页面上显示为用户名+名字和姓氏.有任何想法吗?

谢谢克里斯

c# asp.net asp.net-mvc entity-framework

2
推荐指数
1
解决办法
93
查看次数