select函数

VFP获取 SQL Server 的数据表、触发器、存储过程、视图等脚本

夙愿已清 提交于 2020-02-11 00:27:25
本文代码转载自红雨先生 *----------------------------------------------- * SqlServer 相关函数 *----------------------------------------------- Clear *----------------------------------------------- * 测试 GetTableCode() *----------------------------------------------- Local lcDataBaseName, lcTableName, lcTableCode, lnSqlHandle, lcSqlStringConnect lcTableCode = [] lcDataBaseName = [DCLZ] lcTableName = "[dbo].[考勤原始表]" lcSqlStringConnect = [driver={Sql server};server=(local);uid=sa;pwd=Admin;database=Master] lnSqlHandle = Sqlstringconnect( lcSqlStringConnect ) If lnSqlHandle > 0 = SQLSetprop(lnSqlHandle,

转:SQL四舍五入

和自甴很熟 提交于 2020-02-10 11:34:33
ROUND 用到四舍五入并且保留小数点时我们肯定会首选ROUND函数, 如果字段的数据类型是decimal(18,10)时,那么四舍五入后还会有很多0出现。 CAST和CONVERT 其实我使用强转时并没有打算四舍五入结果,只是单纯为了得到符合我要求的数据,今天才发现这两个强转也会四舍五入结果,也就是说下面三个语句将会返回相同的结果值 select ROUND(32.678,1) --32.700 select CAST (32.678 as DECIMAL (5,1)) --32.7 select convert ( NUMERIC (5,1),32.678) --32.7 转自: https://www.cnblogs.com/sword-successful/p/4929598.html 来源: https://www.cnblogs.com/24Key/p/12290131.html

PL/SQL --> 函数

青春壹個敷衍的年華 提交于 2020-02-09 15:04:37
--================== -- PL/SQL --> 函数 --================== 函数通常用于返回特定的数据。其实质是一个有名字的 PL / SQL 块,作为一个 schema 对象存储于数据库,可以被反复执行。函数通常被作为 一个表达式来调用或存储过程的一个参数,具有返回值。 一、建立函数的语法 CREATE [ OR REPLACE ] FUNCTION function_name ( argument1 [mode1] datatype1 , argument2 [mode2] datetype2 , ...) RETURN datatype IS | AS [local_variable_declarations;...] BEGIN --actions; RETURN expression ; END [function_name] ; 建立函数的几点注意事项 1. 指定参数数据类型时 (argument) ,不能指定其长度 2. 函数头部必须指定 return 子句,函数体内至少要包含一条 return 语句 3. 可以指定 in 参数,也可以指定 out 参数,以及 in out 参数 4. 可以为参数指定缺省值。指定缺省值时使用 default 关键字。如 arg1 varchar2 default 'SCOTT' 二

面试你所要知道的:MySQL存储过程

我与影子孤独终老i 提交于 2020-02-09 13:00:35
存储过程简介 SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟,它允许控制数据的访问方式。 存储过程的优点: (1).增强SQL语言的功能和灵活性:存储过程可以用控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 (2).标准组件式编程:存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。 (3).较快的执行速度:如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。而批处理的Transaction-SQL语句在每次运行时都要进行编译和优化,速度相对要慢一些。 (4).减少网络流量:针对同一个数据库对象的操作

sql 汉字转首字母拼音

你说的曾经没有我的故事 提交于 2020-02-09 07:39:32
create function fun_getPY(@str nvarchar(4000)) returns nvarchar(4000) as begin declare @word nchar(1),@PY nvarchar(4000) set @PY='' while len(@str)>0 begin set @word=left(@str,1) --如果非汉字字符,返回原字符 set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901 then (select top 1 PY from ( select 'A' as PY,N'驁' as word union all select 'B',N'簿' union all select 'C',N'錯' union all select 'D',N'鵽' union all select 'E',N'樲' union all select 'F',N'鰒' union all select 'G',N'腂' union all select 'H',N'夻' union all select 'J',N'攈' union all select 'K',N'穒' union all select 'L',N'鱳' union all select

pysql

♀尐吖头ヾ 提交于 2020-02-08 04:34:37
1.python语言操作mysql的包: import pymysql # 连接mysql服务器 conn = pymysql.connect(host='localhost', user='root', password='123',database='db2', charset='utf8') cursor = conn.cursor(cursor=pymysql.cursors.DictCursor) sql = "select * from student where id > %s " % (12,) # sql = cursor.execute(sql) # res = cursor.fetchone() res = cursor.fetchmany(10) # res = cursor.fetchall() ### 列表里面套字典 print(res) cursor.close() conn.close()import pymysql # 连接mysql服务器conn = pymysql.connect(host='localhost', user='root', password='123',database='db1', charset='utf8')cursor = conn.cursor(cursor=pymysql.cursors.DictCursor

mysql数据库-进阶-长期维护

雨燕双飞 提交于 2020-02-08 01:49:08
############### 视图 ############## """ 1.视图 视图:是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据 视图有如下特点; 1. 视图的列可以来自不同的表,是表的抽象和逻辑意义上建立的新关系。 2. 视图是由基本表(实表)产生的表(虚表)。 3. 视图的建立和删除不影响基本表。 4. 对视图内容的更新(添加、删除和修改)直接影响基本表。 5. 当视图来自多个基本表时,不允许添加和删除数据。 1.创建视图 create view 视图名称 as sql 查询语句 2.使用视图 select * from 视图名称; 3.更新视图 alter view 视图名称 AS SQL语句 4. 删除视图 drop view ren_view; """ ############### 触发器 ############## """ 2.触发器-trigger 触发器:监视某种情况,并触发某种操作。 触发器创建语法四要素: 1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete) 1.创建触发器语法 create trigger triggerName after/before insert/update

mysql存储过程基础

别说谁变了你拦得住时间么 提交于 2020-02-07 19:23:31
存储过程简介 SQL语句需要先编译然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。 存储过程是可编程的函数,在数据库中创建并保存,可以由SQL语句和控制结构组成。当想要在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟,它允许控制数据的访问方式。 存储过程的优点: (1). 增强SQL语言的功能和灵活性 :存储过程可以用控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。 (2). 标准组件式编程 :存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。 (3). 较快的执行速度 :如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。而批处理的Transaction-SQL语句在每次运行时都要进行编译和优化,速度相对要慢一些。 (4).减少网络流量

MySQL学习笔记——〇四

妖精的绣舞 提交于 2020-02-06 01:15:42
今天我们继续对MySQL内容进行一些补充,但是今天所讲的内容已经不是平时常用的了。 先穿插一条指令贯穿了今天所讲的所有知识点: MySQL结束符 结束符delimiter其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。 但是在今天的知识点中我们经常需要用到begin...end这种结构体,那么在结构体中的sql语句后的分号就不能作为结束符了,我们需要随便设置一个结束符,在结构体结束后再换回分号。 MySQL视图(View) 如果我们在日常进行数据库维护过程中需要一个重复的虚拟表,这个虚拟表的构建过程我们要敲很多次,MySQL给我们提供了一个对齐进行优化的方法_视图(View)。 视图的创建 比方我们今天需要对一个用户表中id>10的用户进行操作,这个操作要重复好多好多次,那么我们就要写好多次这样的代码 select *from (select * from table where id>10) as t; 这个时候,为了提高效率,我们就可以创建一个视图 create view v1 as select * from table where id>10; 这个时候我们只需要调用v1就可以了。 注意:视图是一个虚拟的表,是动态的

MySQL之数据查询语句(DQL)

余生颓废 提交于 2020-02-06 00:33:24
一、基础查询 1.语法 select 查询列表 from 表名; 2.特点 1.查询列表可以是:表中的字段、常量值、表达式、函数 2.查询的结果是一个虚拟的表格 3.示例代码 1.查询表中单个字段 SELECT name FROM employees; 2.查询表中的多个字段 SELECT name, num FROM employees; 3.查询表中所有字段 #方式一: SELECT 字段,字段..... FROM employees; #方式二: SELECT * FROM employees; 4.查询常量值 SELECT 100; SELECT 'gyk'; 5.查询表达式 SELECT 100*10; 6.查询函数 SELECT VERSION(); 7.起别名 方式一:使用AS SELECT 100*10 AS 结果; SELECT name AS 名字 , num AS 编号 FROM employees; 方式二:使用空格 SELECT name 名字, num 编号 FROM employees; 注意:当查询结果中有特殊符号(空格等),使用双引号将查询结果括住 例如:SELECT name AS "OUT PUT",num AS 编号 FROM employees; 作用: 1.便于理解 2.如果要查询的字段有重名的情况,可以使用别名来区分开来 8.去重 例如