小编Rei*_*ica的帖子

SQL处理电话号码字段中的垃圾

我今天有一个非常有趣的小SQL问题需要解决,并且我想让社区看看你提出了什么解决方案.

我们有一个非常酷的电子邮件到我们使用的文本服务,您只需要发送电子邮件到phonenumber@servicename.com,它将发送短信到所需的电话号码.

例如要发送文本到0790 0006006,你需要发一封电子邮件到07900006006@servicename.com,非常整洁吧?

问题在于我们数据库中的电话号码.大多数电话号码都很好,但其中一些电话号码中混有"垃圾".

拿这些你需要处理的垃圾的精彩例子(我通过放置零来匿名化电话号码):

07800 000647(手机)
07500 000189使用1ST请
注意
07900 000415 HO ONLY
尝试第1次0770 0000694然后回家
07500 000465不能

要求

解决方案需要在SQL中(对于MS SQL服务器).

所以挑战如下,我们需要获得没有空格的电话号码,并且没有样本中看到的任何垃圾.

例如:

这个:

尝试第1次0770 0000694然后回家

应该成为这样的:

07700000694

任何没有电话号码的东西(例如"SEE NOTES")都应该为空.

更新:

感谢您的好评!我们有一些有趣的答案,但由于没有任何SQL答案有任何投票,所以选择一个最喜欢的东西有点困难.我宁愿看到社区挑选出的明显喜爱.

在我给出答案之前,我会让问题成熟一点,看看是否有任何投票.

sql sql-server-2005

5
推荐指数
1
解决办法
1598
查看次数

为什么List <SelectListItem>在帖子上变为空?

我试图在Asp.Net MVC 3.0中显示一个RadioButtonList.这是我的扩展方法:

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Html;
using System.Linq.Expressions;
using System.Text;

public static class HtmlExtensions
{
    public static MvcHtmlString RadioButtonForSelectList<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper,
        Expression<Func<TModel, TProperty>> expression, IEnumerable<SelectListItem> selectList)
    {
        StringBuilder stringBuilder = new StringBuilder();
        var metaData = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);
        if (selectList != null)
        {
            foreach (var item in selectList)
            {
                var id = string.Format("{0}_{1}", metaData.PropertyName, item.Value);
                var label = htmlHelper.Label(id, HttpUtility.HtmlEncode(item.Text));
                var radio = htmlHelper.RadioButtonFor(expression, item.Value, new { id = id });

                stringBuilder.AppendFormat("<div class=\"RadioButton\">{0}{1}</div>",radio.ToHtmlString(),label.ToHtmlString()); …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc asp.net-mvc-3

4
推荐指数
1
解决办法
2870
查看次数

在ASP.NET中,什么是'ASP'代码?

我的问题的更多细节:

HTML和JavaScript称为"客户端代码".

代码隐藏文件中的C#和VB称为"服务器端代码".

那么什么是inline-asp,并且'runat = server'代码块被调用?

<!-- This is called "client-side" -->
<p>Hello World</p>
<script>alert("Hello World");</script>
Run Code Online (Sandbox Code Playgroud)

...

// This is called "server-side"
public void Page_Load(object sender, EventArgs e)
{
    Response.Write("Hello World");
}
Run Code Online (Sandbox Code Playgroud)

...

<%-- What is this called ??? --%>
<asp:Label ID="MyLabel" runat="server" />
<% Response.Write("Hello World"); %>
Run Code Online (Sandbox Code Playgroud)

我能提出的最好的术语是"Web Forms Code".

c# asp.net terminology

3
推荐指数
2
解决办法
621
查看次数

C#我可以在返回不同泛型类的非泛型类中创建泛型方法或属性吗?

我有一个抽象的泛型类.我想在那里定义一个方法,所以我不必在所有派生类中都这样做.

基本上我需要根据泛型类的类型来获取一个存储库类.

我通过另一个非泛型的类获取repoistories.

如何让该类根据泛型调用者具有的类型返回通用存储库?

我希望这样的事情.

public IRepository<T> Table<T>()
{
    return _container.Resolve<IRepository<T>>();
}
Run Code Online (Sandbox Code Playgroud)

如果它是一个财产,它会更好.

c# generics methods properties

3
推荐指数
1
解决办法
4799
查看次数

Linq带有子查询

我想从这个Linq查询得到的是所有广告的列表,其中最近关联的日志与a LogType.IsStatus == true具有LogType.Name已确认或已更新.要清楚,广告有许多日志,每个日志有一个LogType.到目前为止,我有以下内容,但它在LastOrDefault上给出了一个错误System.NotSupportedException.

var adverts = (from a in database.Adverts
                      let lastLog = (from l in a.Logs
                                     where l.LogType.IsStatus == true
                                     orderby l.Created_at
                                     select l).LastOrDefault()
                      where (lastLog != null)
                            &&
                            (lastLog.LogType.Name == "Confirmed" || lastLog.LogType.Name == "Renewed")
                            orderby a.Created_at descending
                      select a).ToList();
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-entities

3
推荐指数
1
解决办法
5686
查看次数

PredicateBuilder"和"方法不起作用

我已经下载了谓词构建器,并且很难让它与实体框架一起工作.这是我的代码:v_OrderDetail是实体

var context = new OrdersEntities();

Expression<Func<v_OrderDetail,bool>> whereClause = w => true;                                         
var predicate = PredicateBuilder.True<v_OrderDetail>();              
predicate.And(w => w.Status == "Work");                             
var results = context.v_OrderDetail.AsExpandable().Where(predicate);
Run Code Online (Sandbox Code Playgroud)

当我查看结果时,我会收到每个订单.And谓词似乎没有.当我查看predicate.parameters.count时,它只显示1.我不确定,但我希望它在添加第二个后显示2.

任何帮助是极大的赞赏.

c# entity-framework predicatebuilder

3
推荐指数
1
解决办法
1963
查看次数

未定义目标框架符号

我正在尝试使用 if 编译器指令有条件地包含 .Net Framework 早期版本所需的一些代码,但不是更高版本。

我使用了 MSDN 中的以下参考资料、#if 编译器指令参考资料和目标框架参考资料。

我正在编写一个 .Net 4.5.1 应用程序,但似乎没有定义 NET451 符号,其他任何符号也没有定义。

我已经改编了 Target Frameworks MSDN 文章中的示例以包含所有框架符号,因此我可以看到定义了哪个。

#if NET20
        Console.WriteLine("Target framework: NET20");
#elif NET35
        Console.WriteLine("Target framework: NET35");
#elif NET40
        Console.WriteLine("Target framework: NET40");
#elif NET45
        Console.WriteLine("Target framework: NET45");
#elif NET451
        Console.WriteLine("Target framework: NET451");
#elif NET452
        Console.WriteLine("Target framework: NET452");
#elif NET46
        Console.WriteLine("Target framework: NET46");
#elif NET461
        Console.WriteLine("Target framework: NET461");
#elif NET462
        Console.WriteLine("Target framework: NET462");
#elif NET47
        Console.WriteLine("Target framework: NET47");
#elif NET471
        Console.WriteLine("Target framework: NET471"); …
Run Code Online (Sandbox Code Playgroud)

c# preprocessor-directive

3
推荐指数
1
解决办法
822
查看次数

无法连接到套接字/opt/local/var/run/dbus/system_bus_socket:没有这样的文件或目录

我尝试使用 Bluezero 向 microbit 发送消息(我使用的是 macOS),但出现错误。

示例代码。

from bluezero import microbit
ubit = microbit.Microbit(adapter_addr='x',
                         device_addr='x',
                         accelerometer_service=True,
                         button_service=True,
                         magnetometer_service=False,
                         pin_service=False,
                         temperature_service=True)

my_text = 'Hello, world'
ubit.connect()

while my_text is not '':
    ubit.text = my_text
    my_text = input('Enter message: ')

ubit.disconnect()
Run Code Online (Sandbox Code Playgroud)

错误

dbus.exceptions.DBusException:org.freedesktop.DBus.Error.FileNotFound:无法连接到套接字/opt/local/var/run/dbus/system_bus_socket:没有这样的文件或目录

macos python-3.x bluetooth-lowenergy bbc-microbit

3
推荐指数
1
解决办法
3万
查看次数

使用IEnumerable <T>作为委托返回类型

我正在尝试定义一个将返回IEnumerable的委托函数.我有几个问题 - 我想我很接近,但需要一些帮助才能到达那里......

我可以定义我的代表罚款:

 public delegate IEnumerable<T> GetGridDataSource<T>();
Run Code Online (Sandbox Code Playgroud)

现在怎么用呢?

 // I'm sure this causes an error of some sort
 public void someMethod(GetGridDataSource method) { 
      method();
 }  
Run Code Online (Sandbox Code Playgroud)

和这里?

 myObject.someMethod(new MyClass.GetGridDataSource(methodBeingCalled));
Run Code Online (Sandbox Code Playgroud)

谢谢你的提示.

c# asp.net delegates c#-3.0

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

重构LINQ to Entities查询

我已经实现了搜索查询。它用“规范化”字符代替特殊字符。我已将此规则应用于其他领域。实际上,查询看起来非常丑陋,并且充满了DRY违规行为。

但是,对此重新设置似乎并不容易(对我而言)。当然,我只是试图将整个Replace-Stuff重构为一个单独的方法,但这导致了类似的错误

LINQ to Entities无法识别方法'System.String Help(System.String)'方法,并且该方法无法转换为商店表示...

下面的代码显示了查询的一部分,其中包含更多这样的语句。如果有人有一个想法,要使它更好,那就太好了!

qry = qry.Where(guest =>
                (guest.FirstName
                    .Replace("ü", "u").Replace("ue", "u").Replace("û", "u").Replace("ù", "u").Replace("ú", "u")
                    .Replace("ä", "a").Replace("ae", "a").Replace("â", "a").Replace("à", "a").Replace("á", "a")
                    .Replace("ë", "e").Replace("ê", "e").Replace("è", "e").Replace("é", "e")
                    .Replace("ö", "o").Replace("oe", "o").Replace("ô", "o").Replace("ò", "o").Replace("ó", "o")
                    .Replace("ï", "i").Replace("ì", "i").Replace("ì", "i").Replace("í", "i")
                    .Replace("ç", "c")
                    .Replace(".", "").Replace("-", "").Replace("_", "").Replace("´", "").Replace("'", "").Replace("\"", "")
                    .Replace("(", "").Replace(")", "").Replace("[", "").Replace("]", "").Replace("{", "").Replace("}", "")
                    .Replace("$", "").Replace("+", "").Replace("*", "").Replace("@", "")
                    .Replace("|", "").Replace("\\", "").Replace("/", "").Replace("<", "").Replace(">", "")
                    .Replace(".", "").Replace(",", "").Replace(";", "").Replace(":", "")
                    .Replace("=", "").Replace("%", "").Replace("^", "").Replace("?", "").Replace("!", "")
                    .StartsWith(firstName) 
                && …
Run Code Online (Sandbox Code Playgroud)

c# linq entity-framework entity-framework-4

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