技术填坑记

人生就是不断的填坑,再填坑,下面的填坑记录说不定就能帮助你。

1)SQL server 自带发email功能

测试发给我自己,一切看起来正常。发给小组成员,每个人都能收到了,看起来今天终于可以正常下班了。

可是,测试环境(当然会将所有人的邮件都设定为我们测试小组的成员了)发给某种类型的人的时候,程序不工作了。当初使用的update语句是自己编写的,当然不存在邮箱格式错误的可能。

真是百思不得琪姐啊,只好在小组里面找之前踩过坑的同事了解,询问是否碰到过同样的问题,还好的是我们IT人员都没有藏着掖着的,大家回想当初自己的做法,感觉也没什么解决之道,只好又跑回来摸索。

过了十几分钟,有个同事过来说,好像之前遇到过,to和CC中email不能重复,我使用的是本组成员设定的,当然是大量重复,所以系统就根本不发。

于是就使用去重的程式如下:

/****** Object:  UserDefinedFunction [dbo].[ProcessEmail]    Script Date: 09/23/2016 16:17:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER function [dbo].[ProcessEmail](
  @EmailInput varchar(8000))
returns varchar(8000)
as
begin
    declare @value varchar(8000)
    set @value=‘‘
    select @value=@value+col+‘;‘ from (
        select distinct  col
        from f_split(@EmailInput,‘;‘) where col!=‘‘) as a
    return @value
end  

ALTER  function   [dbo].[f_split](@c   varchar(8000),@split   varchar(10))
returns   @t   table(col   varchar(100))
as
    begin  

      while(charindex(@split,@c)<>0)
        begin
          insert   @t(col)   values   (substring(@c,1,charindex(@split,@c)-1))
          set   @c   =   stuff(@c,1,charindex(@split,@c)+len(@split)-1,‘‘)
        end
      insert   @t(col)   values   (@c)
      return
    end

修改之后,世界就清静了。

时间: 2024-10-08 17:27:00

技术填坑记的相关文章

UiAutomator2.0升级填坑记

UiAutomator2.0升级填坑记 SkySeraph May. 28th 2017 Email:[email protected] 更多精彩请直接访问SkySeraph个人站点:www.skyseraph.com 啰嗦 Google Android Developers 在2015年3月就发布了UiAutomator 2.0版本(下文简称U2),而公司的核心产品中用到还是UiAutomator老版本(下文简称U1),业界用U2的也不是很多,虽然有诸多问题和不便(如高版本OS中不支持Remo

minikube windows hyperx填坑记

minikube windows hyperx填坑记 安装了一天半,还是没行,先放弃 开始 minikube start --vm-driver=hyperv --hyperv-virtual-switch=k8svswitch --cpus=4 --memory=4096 --docker-env HTTP_PROXY=http://192.168.31.77:1080 --docker-env HTTPS_PROXY=http://192.168.31.77:1080 --docker-en

Elasticsearch 填坑记

前言 技术的发展日新月异,传统企业数据库Oracle.SqlServer.DB2,Mysql等在今日不断的被各种大厂自研数据库取代,当然也有类似Elasticsearch等优秀的满足海量数据所使用的开源数据库. 我司多个日志审计与态势感知项目中,也没有免俗,选择了Elasticsearch作为我们的日志存储与搜索引擎.关于Elasticsearch基础知识就不做更多介绍了,随便搜索下,有大量的介绍和使用文档. 本文主要介绍我们在多个项目中,使用Elasticsearch过程中,各种填坑记录. 在

Flexbox微信踩坑填坑记

Flexbox的大名很早就有了解过,只是之前一直是开发PC端的页面,对这个东西还不是很敢造次去用.近期的项目是移动端开发,正好,内心一激动,就大大咧咧地开始用flexbox布局了.中间踩过的一些坑,以及将来可能还会踩到的坑,都在这里记录一下. 关于flexbox,有一篇文章讲的还是很透彻的,图文并茂,有兴趣的戳链接了解下.一篇很屌很好的文章 在用flexbox之前,很多人最关心的应该还是兼容性的问题.个人一直觉得,前端程序员的使命,就是要推进终端用户去使用最先进的浏览器.当然,现实是骨感的,我们

支付开发填坑记之微信支付

微信支付,支持的支付方式比较多:有扫码支付,刷卡支付,APP支付和公众号支付.其中,APP和网站上最常用的就是APP支付和公众号支付.前者集成在APP中,后者主要是为微信用户提供了另一种支付方式(需要在微信的内置浏览器中打开页面,再调起微信支付). 微信支付,支持的支付方式比较多:有扫码支付,刷卡支付,APP支付和公众号支付.其中,APP和网站上最常用的就是APP支付和公众号支付.前者集成在APP中,后者主要是为微信用户提供了另一种支付方式(需要在微信的内置浏览器中打开页面,再调起微信支付).

环境配置(近期实测)——Ubuntu16.04+CUDA9.0+tensorflow-gpu填坑记

近几年深度学习在物体检测方面出现了许多基于不同框架的网络模型,不同模型需要不同的版本的Python.TensorFlow.Keras.CUDA.cuDNN以及操作系统.不得不说,要把经典物体检测网络的源码都跑通,单配置环境就要浪费很多时间,因为目前兼容这些经典网络的框架和环境还很少.新版的TensorFlow在models的objection-detection模块中包含了fast-rcnn.rfcn.SSD几种网络,不过开发环境是基于Ubuntu的,因此我对该环境进行了配置. 1.Ubuntu

Android 项目开发填坑记 - 获取系统语言(兼容7.0)

如果移动端访问不佳,请访问–> Github版 关键词:Android7.0 .系统语言 .顺序不一致 获取系统当前语言是一个比较常用的功能,在 Android 7.0 系统上旧函数获取到的当前系统语言并不正确,或者说从 Android 7.0 起,Android 系统语言的规则变了. 背景 下面是未适配 Android 7.0 的代码: // 获取 Locale 的方式有二 Locale locale = getResources().getConfiguration().locale; Lo

.net core 填坑记之—格式转换问题

最近在将项目从.net 迁移到.net core环境中,迁移完成后,发布于Windows平台上进行测试,所有功能均能正常运行. 为了项目能够在正式环境也能正常运行,提前进行Linux环境部署(Centos7)预发布,就在预发布后进行代码的基本测试后, 发现日志中出现了string转datetime错误,按道理说相同的代码,相同的测试用例, 不应该出现不同的结果!!!???~ ~想到Linux和Windows还是有些差异性,会不会是运行环境的问题,经过调试发现,在linux中将datetime直接

Java Web 开发填坑记- 如何正确的下载 Eclipse

一直以来,做 Java web 开发都是用 eclipse , 可是到 eclipse 官网一看,我的天 http://www.eclipse.org/downloads/eclipse-packages/ 那么多应该下载哪一个?这是一个问题? 其实 eclipse 为每一种开发者,都提供了不同的版本.