- 博客(69)
- 收藏
- 关注
原创 创建主键约束外键约束脚本
--主键约束如下:比如student表的id为例alter table student addconstraint PK_Student_Id primary key (id);--外键约束如下:比如student表id位主键,score为子表scoreId为外键alter table score addconsraint FK_Score_ScoreId foreign
2014-11-20 17:01:01
749
原创 Sql查询指定表的所有外键约束及外键表名与列名
先看看我们要用到的几个目录视图的解释:1,sys.foreign_keys--在这个视图中返回了所有的外键约束2,sys.foreign_key_columns--在这个视图中返回了所有外键列(只返回列的id)3,sys.columns--在这个视图中返回了表与视图的所有列
2014-11-20 16:38:48
16263
1
原创 经纬度分隔函数
,dbo.Get_StrArrayStrOfIndex(xwlocation, ';', 1) AS xwlon,dbo.Get_StrArrayStrOfIndex(xwlocation, ';', 2) AS xwlat set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo -- =======================
2014-11-18 17:29:21
724
原创 SQL验证字符是否是数值
select PATINDEX('%[A-Za-z]%', '11113334455.5') --0select PATINDEX('%[A-Za-z]%', '3d3d3dtt4343rerfere') --2 --如果存在字母结果大于1
2014-11-18 17:19:26
555
原创 PG_全角转半角函数
CREATE OR REPLACE FUNCTION convertstring(text) RETURNS text AS$$ DECLARE len INTEGER; retval text; tmp text; asciival INT4; difference INT4 := ascii('A')-ascii('A'); fu
2014-11-18 17:16:09
1587
原创 MSSQL_全角转半角函数
CREATE FUNCTION com_f_Convert_test( @str NVARCHAR(4000), --要转换的字符串 @flag bit --转换标志,0转换成半角,1转换成全角 )RETURNS nvarchar(4000) AS BEGIN DECLARE @pat nvarchar(8),@step int,@i
2014-11-18 17:15:30
902
原创 sqlite日期函数
SELECT cast(julianday('2014-11-16')-julianday('2014-11-17') as integer) AS aaa --------------------------------------------------------aaa-1
2014-11-17 11:24:40
635
原创 postgresql截取指定字符左边的所有字符
"M.101.5.2""M.101.5.3""M.101.22.4""M.101.11.15"
2014-10-23 11:36:27
12179
原创 excel构造 sql语句
="insert into com_t_rolefunction_temp(roleid,functioncode) values ("&A1&","&B1&")"
2014-10-16 16:54:53
550
原创 表值函数,分隔字符串到表
ALTER FUNCTION [dbo].[FSysSplit](@Long_str varchar(8000),@split_str varchar(100)) RETURNS @tmp TABLE( ID int IDENTITY PRIMARY KEY, short_str varchar(8000) ) AS
2014-10-14 16:58:47
481
原创 postgresql isnumeric
WITH test(x) AS ( VALUES (''), ('.'), ('.0'), ('0.'), ('0'), ('1'), ('123'), ('123.456'), ('abc'), ('1..2'), ('1.2.3.4'))SELECT x , x ~ '^[0-9]*.?[0-9]*$' AS isnumericFROM test;
2014-10-14 16:41:24
1761
原创 创建数据库登陆账号
use xw_dl_1007959CREATE LOGIN [USER_1007959] WITH PASSWORD=N'USER_10079592@1@', DEFAULT_DATABASE=[xw_dl_1007959], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFFexec sp_grantdbaccess 'USER_1007959'exec
2014-09-15 09:16:30
640
原创 select构造insert语句的脚本
--在60.11执行select 'INSERT INTO dbo.sfa_t_TPlaVisitPlan ( usernumber , UserName , VisitDate , ExecuteStatus , CheckStatus , WorkTips ,
2014-09-11 10:55:58
691
原创 根据用户E号查询销售区域
-- Description: 根据用户E号查询销售区域-- Params:-- @UserNumber:用户E号-- Demo:-- select * from sfa_f_GetSaleAreasByUserNumber(706416)-- =============================================ALTER FUNCTION [dbo]
2014-09-11 10:44:19
675
原创 根据销售区域ID查询当前区域和子销售区域
USE [xw_dl_1007615]GO/****** Object: UserDefinedFunction [dbo].[sfa_f_GetSaleAreasBySaleAreaID] Script Date: 2014/9/2 14:14:04 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO
2014-09-11 10:12:50
977
原创 查表的数据来拼接insert语句的写法2
select 'INSERT INTO dbo.sfa_t_TPlaVisitPlan ( usernumber , UserName , VisitDate , ExecuteStatus , CheckStatus , WorkTips , Ch
2014-07-31 13:33:17
1665
原创 查表的数据来拼接insert语句的写法
alter table sfa_t_tplavisitplan add a_id intselect * from sfa_t_tplavisitplan where a_id is not nullselect 'INSERT INTO dbo.sfa_t_TPlaVisitPlan ( usernumber , UserName ,
2014-07-31 13:32:48
733
原创 临时表数据脚本
--7.订单--------------------------------------------------------------------------------------------------清空记录set @sdnum=0select @sdnum=max(id) from sfa_p_PMonOrderAdd_tempWHILE (@sdnum>0)BE
2014-06-28 09:47:50
540
原创 sql--性能优化原则
对存在性能问题的SQL,先查看其执行计划,重点查看Table Scan和Clustered Index Scan节点1.在这些节点对应的表字段添加索引2.exists的代替in3.like 百分号放在后边,例如:like '%A0%' 改为like 'A0%'4.where 语句后面避免使用or,,应该把or拆分为多个子查询,使用union合并结果,或者使用with出来再合并数据
2014-06-28 09:41:42
495
转载 SQL 将一个字段内用逗号分隔的内容分成多条记录
---恢复内容开始---本文转http://www.mhzg.net/a/20117/2011789260293.html由于业务需求,我们可能会把一串以分割符字符串数据放到一个字段,如我们在客户端处理拆分是很简单的,不过这样做效果不太好,怎么用SQL SERVER 2008 来解决这件事件哪? --参考 拆分表: --> --> (Roy)生成測試
2014-03-13 09:38:36
5115
原创 sqlserver递归查询
with tmp as( SELECT * FROM TBasDepartment WHERE DepartmentID=511union all SELECT a.* FROM TBasDepartment a,tmp b WHERE a.PDepartmentID = b.DepartmentID) SELECT * FROM tmp
2013-12-17 17:44:07
490
原创 sql时分秒转为秒
declare @sql varchar(20)set @sql='37:02:10'--test--SELECT substring(@sql,0,charindex(':',left(@sql,3)))select cast(substring(@sql,0,charindex(':',left(@sql,3))) as int)*3600+cast(substring(r
2013-12-17 14:36:31
9546
原创 2个时间差得到时分秒
select RIGHT(CONVERT(VARCHAR, DATEADD(minute,DATEDIFF(mi,'2013-12-16 16:30:00','2013-12-16' + ' 17:30:00'), 0), 120), 8) 结果:01:00:00
2013-12-17 14:34:47
570
原创 sql字符串处理
SELECT '120.182296|30.263618' SELECT SUBSTRING( '120.182296|30.263618',0,CHARINDEX( '|','120.182296|30.263618',0)) --得到120.182296 SELECT SUBSTRING( '120.182296|30.263618
2013-10-24 18:46:46
544
原创 postgresql行转列并拼接字符串
有这样一张表:select * from liutest order by 1;id | kw ----+-------- 1 | big 1 | hello 2 | oracle 2 | small 2 | apple 3 | shit(6 rows)我想按id把kw拼接成一个字符串,在网上查到一种方法:select id,
2013-08-26 18:05:41
9582
原创 postgresql日期格式转换
--上月天数select EXTRACT(DAY from date_trunc('month', CURRENT_DATE)- interval '0 month'- interval '1 day'); --当前时间select now();--当前年月日select current_date当前年当前月select extract(year fro
2013-07-04 08:20:06
82195
原创 postgresql insert
INSERT INTO sfa_t_cir_ordercode ( ordercodeid, orderdate, ordercode ) VALUES ( cast(sfa_f_new_uuid(CAST(random() * 100000 AS INTEGER)) AS uuid), to_char(now(),'yyyy-mm-dd'),
2013-07-02 09:12:33
797
原创 postgresql常用攻略
1.不支持top 1 可以使用limit order by2.select语句给变量赋值的方式--第一种写法select into tempstorename, tempstorerankname storename, storerankname from tbasstoretest where cast(storeid as varchar) = storeidp;
2013-07-02 09:10:34
1150
原创 创建业代与门店导入的临时表
CREATE TABLE [dbo].[tempStoreUser]( [id] [int] IDENTITY(1,1) NOT NULL, [用户E号] [int] NULL, [姓名] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, [职务] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL
2013-06-04 14:17:14
439
原创 导入人与门店挂靠关系
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo --业务员对应门店ALTER PROC [dbo].[Pipstoreuser]@XwUserNumber int AS DECLARE @Count INT SET @Count = 0 DECLARE @curId INT
2013-06-04 14:13:48
503
原创 Excel单元格字符串连接(合并)实例
有网友在群里提出了一个关于Excel单元格字符串连接的问题,问题如下: 有四列数据,其中每一列的单元格可能有数据也可为空,问如何将前面四列的内容用连字符~连接起来并在E列中显示,即下面的效果:我琢磨了一下,方法如下: 1。先用=CONCATENATE(A1&"~"&B1&"~"&C1&"~"&D1)函数将四列数据合并,得到E列;
2013-05-29 11:26:00
8165
原创 SQL Server 2005使用作业设置定时任务
公司有一个老项目由于直接把终端拍摄的图片以二进制的形式保存到数据库中,数据库比较大所以需要经常删除这些冗余数据,手动删除费时费力,组长让我把这些操作变成自动的,每天执行一次,只保留最近两个月的图片数据。查阅了相关的资料,找到了解决方案,在此做一个记录,以便有同样需求的人和自己查阅。 现在我们通过一个非常简单的示例:有一张员工表,我们定时往里面添加一条数据。通过示例来了解如何使用Sql S
2013-05-08 10:27:26
557
原创 把表a数据插入表b
insert into b (column1,datecolumn)select column1,getdate() from a
2013-04-28 09:54:56
665
原创 如果上一条插入语句执行成功,获取id号
DECLARE @VisitPlantemplateid INT insert >>>>>>>>>>>>> IF (@@identity > 0) SET @VisitPlantemplateid = @@identity
2013-04-26 11:41:05
545
原创 求上次的拜访时间
SELECT t1.ActualVisitID,t4.DepartmentName,t5.SaleAreaName,u.UserName,s.StoreName,s.StoreCode,t1.Visit_StartTime,--上次拜访时间(SELECT TOP 1 t2.Visit_StartTime FROM dbo.TPlaActualVisit t2 WHERE t2.S
2013-04-26 11:00:47
438
原创 关于游标的使用
set ANSI_NULLS ONset QUOTED_IDENTIFIER ONgo--ALTER PROC [dbo].[Pipsaledepar]@saleareaid INT,@departmentid INT AS DECLARE @Count INT SET @Count = 0 DECLARE
2013-04-25 17:44:33
449
原创 sqlserver以逗号分割的字符串拆分到临时表
alter FUNCTION [dbo].[func_split](@str nvarchar(4000),@separtor varchar(10)) returns @temp table([row] [int] IDENTITY(1,1) NOT NULL,valuess nvarchar(4000)) as begin declare @i i
2013-04-25 17:41:49
5943
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人