MySQL字符截取函数

1、从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my_content_t 2、从右开始截取字符串 right(str, length) 说明:right(被截取字段,截取长度) 例:select right(content,200) as abstract from my_content_t 3、截取字符串 substring(str, pos) substring(str, pos, length) 说明:substring(被截取字段,从第几位开始截取) substring(被截取字段,从第几位开始截取,截取长度) 例:select substring(content,5) as abstract from my_content_t select substring(content,5,200) as abstract from my_content_t (注:如果位数是负数 如-5 则是从后倒数位数,到字符串结束或截取的长度) 4、按关键字截取字符串 substring_index(str,delim,count) 说明:substring_index(被截取字段,关键字,关键字出现的次数) 例:select substring_index("blog.jb51.net","。",2) as abstract from my_content_t 结果:blog.jb51 (注:如果关键字出现的次数是负数 如-2 则是从后倒数,到字符串结束) 函数简介: SUBSTRING(str,pos) , SUBSTRING(str FROM pos) SUBSTRING(str,pos,len) , SUBSTRING(str FROM pos FORlen) 不带有len 参数的格式从字符串str返回一个子字符串,起始于位置 pos。带有len参数的格式从字符串str返回一个长度同len字符相同的子字符串,起始于位置 pos。 使用 FROM的格式为标准 SQL 语法。也可能对pos使用一个负值。假若这样,则子字符串的位置起始于字符串结尾的pos 字符,而不是字符串的开头位置。在以下格式的函数中可以对pos 使用一个负值。 详情请查阅手册。 实例: 表1:user 表2:jl 期望效果:通过user表jlid字段存储的id值,读取jl表中的相应记录,这里想要读取,jl表中id为1、2的记录,首先想到用in,但是很遗憾由于 jlid字段存储的id值有2个,尽管从形式上符合in(1,2)的格式,但是如果你使用select jl.* from jl where jl.id in(select jlid from user where user.id=1)来查询的话,是不行的,他总是返回id为1的记录。 那么怎么办呢?如果我们能够分别得到1,2中的1和2就行了。好在mysql也提供了字符串截取函数SUBSTRING。 sql句法如下: SELECT […]

龙生   01 Jul 2017
View Details

除了 Python ,这些语言写的机器学习项目也很牛(一)

Python 由于本身的易用优势和强大的工具库储备,成为了在人工智能及其它相关科学领域中最常用的语言之一。尤其是在机器学习,已然是各大项目最偏爱的语言。 其实除了 Python ,也不乏有开发者用其他语言写出优秀的机器学习项目。在此,列出其中一些个人认为值得关注的开源机器学习项目。由于篇幅有限,考虑分多期整理。 1、C Darknet —— 神经网络框架 Darknet 是一个用 C 和 CUDA 编写的开源神经网络框架。它快速,易于安装,并支持 CPU 和 GPU计算。 CCV  —— 计算机视觉库 CCV 是 C-based/Cached/Core Computer Vision Library 的简称, 它是一个现代的计算机视觉库。 CCV 是一种以应用驱动的算法库,比如对静态物体(如人脸)的快速检测算法、对某些不容易定位物体(如猫)的准确检测算法、艺术文本的检测算法、长期目标的跟踪算法和特征点检测算法。 2、C++ CNTK —— 深度学习工具包 微软出品的开源深度学习工具包,它把神经网络描述成一个有向图的结构,叶子节点代表输入或者网络参数,其他节点计算步骤。 CNTK 不仅使深度神经网络(DNN)、卷积神经网络(CNN)、循环神经网络(RNN)和长短时记忆单元(LSTM)的实现变得非常容易,还支持多个 GPU 组合、服务器自动分化和并行的随机梯度下降(SGD)学习。 Caffe  —— 深度学习框架 Caffe 是一个清晰而又高效的深度学习框架,模型与相应优化都是以文本形式而非代码形式给出,并给出了模型的定义、最优化设置以及预训练的权重,方便立即上手。同时,它能够运行最棒的模型与海量的数据,也能很方便扩展到新的任务和设置上。 Kaldi —— 语音识别工具包 Kaldi 是用 C ++ 编写的语言识别工具包,旨在供语音识别研究人员使用,且易于修改和扩展。它在设计之初就尽可能地以最通用的形式提供的算法,以保证其可扩展性。 3、Go CloudForest —— 决策树组合算法 纯 Go 编写的快速、灵活、多线程的决策树,允许一些相关的算法用于具有缺失值的异构数据的分类、回归、特征选择和结构分析。它可以实现更快的训练时间,非常适合现代处理器来学习二进制。 4、Java CoreNLP —— 自然语言处理工具 coreNLP 是斯坦福大学开发的一套关于自然语言处理的工具,使用简单功能强大。它可以通过输入原始文本,给出单词的基本形式,它们的词性、公司、人员的名称、解释日期、时间和数量等等。它最初针对英语开发,但现在也已支持中文。 H2O —— 机器学习和预测分析框架 H2O 是一个分布式的、基于内存的、可扩展的机器学习和预测分析框架,适合在企业环境中构建大规模机器学习模型。它使用开发者熟悉的界面,可与 Hadoop 和 Spark 等大型数据技术无缝工作。它也提供许多流行算法的实现,例如 GBM、Random Forest、Deep Neural Networks、Word2Vec 等。 Deeplearning4J —— 分布式神经网络库 Deeplearning4J 是一个使用 Java 和 Scala 编写的分布式神经网络库,集成了 Hadoop 和 Spark ,设计用于运行在分布式 GPU 和 CPU 上的商业环境。它即插即用,方便开发者在 APP 中快速集成深度学习功能 Deeplearning4j 包括了分布式、多线程的深度学习框架,以及普通的单线程深度学习框架。 5、Javascript […]

龙生   30 Jun 2017
View Details

多线程里的EF

这几天写个小功能,在多线程里用到EF,程序第一次启动总是记录到几个错误。 如果在多线程外访问一次数据库就没有问题,真是让人无奈啊~ 另外还发现log4net的实例化必须写在其他实例的前面,否则在控制台程序下不显示日志~~

龙生   29 Jun 2017
View Details

C# 理解lock

一. 为什么要lock,lock了什么? 当我们使用线程的时候,效率最高的方式当然是异步,即各个线程同时运行,其间不相互依赖和等待。但当不同的线程都需要访问某个资源的时候,就需要同步机制了,也就是说当对同一个资源进行读写的时候,我们要使该资源在同一时刻只能被一个线程操作,以确保每个操作都是有效即时的,也即保证其操作的原子性。lock是C#中最常用的同步方式,格式为lock(objectA){codeB} 。 lock(objectA){codeB} 看似简单,实际上有三个意思,这对于适当地使用它至关重要: 1. objectA被lock了吗?没有则由我来lock,否则一直等待,直至objectA被释放。 2. lock以后在执行codeB的期间其他线程不能调用codeB,也不能使用objectA。 3. 执行完codeB之后释放objectA,并且codeB可以被其他线程访问。 二. lock(this)怎么了? 我们看一个例子: using System; using System.Threading; namespace Namespace1 {     class C1     {         private bool deadlocked = true;         //这个方法用到了lock,我们希望lock的代码在同一时刻只能由一个线程访问         public void LockMe(object o)         {             lock (this)             {                 while(deadlocked)                 […]

龙生   28 Jun 2017
View Details

PostgreSQL

PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、MVCC。同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型、函数、操作符、聚集函数、索引。免费使用、修改、和分发 PostgreSQL,不管是私用、商用、还是学术研究使用。 PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和专有系统(比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server)之外的另一种选择。 PostgreSQL 不寻常的名字导致一些读者停下来尝试拼读它,特别是那些把SQL拼读为"sequel"的人。PostgreSQL 开发者把它拼读为 "post-gress-Q-L"。它也经常被简略念为 "postgres"。[1] 事实上, PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长时间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统(MVCC)、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。 Inprise 的 InterBase 以及SAP等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。最后,PostgreSQL拥有一支非常活跃的开发队伍,而且在许多黑客的努力下,PostgreSQL 的质量日益提高。 从技术角度来讲,PostgreSQL 采用的是比较经典的C/S(client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。为了便于客户端的程序的编写,由数据库服务器提供了统一的客户端 C 接口。而不同的客户端接口都是源自这个 C 接口,比如ODBC,JDBC,Python,Perl,Tcl,C/C++,ESQL等, 同时也要指出的是,PostgreSQL 对接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。这一点也可以说是 PostgreSQL 一大优点。 PostgreSQL强壮的一个原因源于它的架构。和商业数据库一样,PostgreSQL可以用于C/S(客户/服务器)环境。这对于用户和开发人员有很多好处。 PostgreSQL安装核心是数据库服务端进程。它允许在一个独立服务器上。需要访问存储在数据库中的数据的应用程序必须通过数据库进程。这些客户端程序无法直接访问数据,即使它们和服务程序在同一台机器上。

龙生   24 Jun 2017
View Details

Windows Server 2008远程桌面多个用户同时登陆的配置方法

开启远程桌面后,Windows Vista(或Windows 2008)下默认只支持一个administrator用户登陆,一个登录后另一个就被踢掉了,下面提供允许同一个用户名同时多个用户登录的配置方法(是pcbeta论坛的skyskai的方法): 首先要启用远程桌面这一功能:右击“我的电脑”→ 属性 → 远程配置 → 远程桌面,就可以配置相应的远程桌面功能了。下面是配置多用户登陆的方法: 打开 控制面板 → 管理工具 → 终端服务(Terminal Services) → 终端服务配置(Terminal Services Configuration) 1、 (修改可以同时登陆的人数,包括自己,默认为2个,如果只需要另外一个人远程登陆你的电脑的话,比如mm或gg,那么这一步就不用做了,直接跳到第二步) 连接(Connections):RDP-tcp 点右键 → 属性 → 网络适配器(Network Adapter) → 最大连接数 → 自己修改数目。 2、配置(Edit settings):终端服务器授权模式(Terminal Services licensing mode) → 点右键 → 属性 → 常规 → 限制每个用户只能使用一个会话(Restrict each user to a single session),去掉前面的勾 → 确定。到这里就可以多用户登录了。如果设置没有生效,重启一下(试过了,生效d)。 3、为防止恶搞, 阻止远程用户终止控制台管理员。开始 → 运行 → gpedit.msc → 计算机配置 → 管理模板 → Windows组件(Windows Components) → 终端服务(Terminal Services) → 终端服务器(Terminal Server) → 连接(Connections) → 拒绝将已经登录到控制台会话的管理员注销(Deny logoff of an administrator logged in to the console session),右击 → […]

龙生   19 Jun 2017
View Details

C#如何把文件夹压缩打包然后下载

public partial class _Default2 : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { string Path = "c:\\de"; string resultPath = string.Empty; bool rel =false; TimeSpan nowTimeSpan=new TimeSpan(); resultPath=YaSuo(out rel, out nowTimeSpan); ResponseFile(resultPath); } /// <summary> /// 压缩文件 /// </summary> /// <returns>返回压缩后的路径</returns> public string YaSuo(out bool bo, out TimeSpan times) { string rarurlPath = string.Empty; bo = false; //压缩文件 string yasuoPathSave = "c:\\de\\TZ.rar"; string yasuoPath = "c:\\de\\temp"; System.Diagnostics.Process pro = new System.Diagnostics.Process(); pro.StartInfo.FileName = @"C:\Program Files\WinRAR\WinRAR.exe";//WinRAR所在路径 //pro.StartInfo.Arguments = "a " + […]

龙生   15 Jun 2017
View Details

Windows10中的IIS10安装php manager和IIS URL Rewrite 2.0组件的方法

Windows10中自带的Server:Microsoft-IIS/10.0,然后这个10却让原本支持组件无法安装了,php manager组件安装时提示“必须安装IIS7以上才可以安装”。那是不是真的就没法在新的IIS上安装了呢?显然不是的。自IIS7以来,微软的IIS更改并不大,架构一致,几乎所有IIS7能用的组件都能够在IIS7.7/8/8.5/10上安装。微软脑子秀逗,跳过了9,以为能解决版本识别的问题,没想到弄成10,还是出现了版本识别的问题,真是自己打自己的脸啊! 那么怎么办呢?改注册表! 打开regedit,找到: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters 右侧的 MajorVersion 是DWORD值,它的值十进制是10,把它改成9。然后运行php manager安装程序即可顺利安装上了!记得装完之后改回来。 php manager的最新下载地址是:http://phpmanager.codeplex.com/releases/view/69115 而IIS URL Rewrite 2.0更是奇怪,简体中文版的这个组件无法安装,同样也是检测版本不正常,而英文版却能正常安装。 64位英文版下载地址是:http://go.microsoft.com/fwlink/?LinkID=615137 简体中文版下载地址是:http://download.microsoft.com/download/4/E/7/4E7ECE9A-DF55-4F90-A354-B497072BDE0A/rewrite_x64_zh-CN.msi 但是面对一堆英文,有些人肯定也会头疼了,那么简体中文版到底能不能装上。 也能!还是改注册表,我通过分析MSI发现它会检测 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp 也是 MajorVersion 项,这个也是 dword 值 10(注意是十进制),把它改成9,结果顺利安装上了! 这不得不吐槽微软一句:Win10真尼玛坑爹! http://http://it.oyksoft.com/post/6880/

龙生   06 Jun 2017
View Details

C# Unicode与中文互转

中文转Unicode:HttpUtility.UrlEncodeUnicode(string str); 转换后中文格式:"%uxxxx"  举例:"柳_abc123"  转换结果是:"%u67f3_abc123" Unicode转中文1:HttpUtility.UrlDecode(string str); str格式:"%uxxxx" ,举例:"%u67f3_abc123" Unicode转中文2:Regex.Unescape(string str); str格式:"\uxxxx" ,举例:"\u67f3_abc123"   ================================ 符合js规则的转换         /// <summary>         /// 中文转unicode(符合js规则的)         /// </summary>         /// <returns></returns>         public static string unicode_js_0(string str)         {             string outStr = "";             string a = "";             if (!string.IsNullOrEmpty(str))             {   […]

龙生   05 Jun 2017
View Details
1 244 245 246 432