代码如下:SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06 SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16 SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06 SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06 SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-06 SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 06 SELECT CON...
如下表:AggregationTableId Name1 赵2 钱1 孙1 李2 周 如果想得到下图的聚合结果Id Name1 赵孙李2 钱周 利用SUM、AVG、COUNT、COUNT(*)、MAX 和 MIN是无法做到的。因为这些都是对数值的聚合。不过我们可以通过自定义函数的方式来解决这个问题。1.首先建立测试表,并插入测试数据: 代码如下:create table AggregationTable(Id int, [Name] varchar(10)) go insert into AggregationTable select 1,赵 union all select 2,...
1.ROW_NUMBER()基本用法: SELECT SalesOrderID, CustomerID, ROW_NUMBER() OVER (ORDER BY SalesOrderID) AS RowNumber FROM Sales.SalesOrderHeader结果集:SalesOrderID CustomerID RowNumber--------------- ------------- ---------------43659 676 143660 117 243661 442 343662 227 443663 510 543664 ...
不过还是希望老鸟们多多指教了,现在切入正题: 随机函数:rand() 在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558, 像这样的小数在实际应用中用得不多,一般要取随机数都会取随机整数。那就看下面的两种随机取整数的方法: 1、 A: select floor(rand()*N) ---生成的数是这样的:12.0 B: select cast( floor(rand()*N) as int) ---生成的数是这样的:12 2、 A:select ceiling(...
代码如下:-- Create a log table CREATE TABLE TriggerLog (LogInfo xml) -- Create a dummy table to delete later on CREATE TABLE TableToDelete (Id int PRIMARY KEY) -- 新建一个新表,作为删除实验表 INSERT INTO TableToDelete VALUES(1) GO -- 创建一个Drop Table 的 DDL CREATE TRIGGER StopTableDrop ON DATABASE AFTER DROP_TABLE AS DECLARE @EventData AS xml SET @EventData = EVENTDATA() -- 必须要在rollback之前截...
代码如下:create PROCEDURE sp_decrypt(@objectName varchar(50)) AS begin begin tran declare @objectname1 varchar(100),@orgvarbin varbinary(8000) declare @sql1 nvarchar(4000),@sql2 nvarchar(4000),@sql3 nvarchar(4000),@sql4 nvarchar(4000),@sql5 nvarchar(4000),@sql6 nvarchar(4000),@sql7 nvarchar(4000),@sql8 nvarchar(4000),@sql9 nvarchar(4000),@sql10 nvarchar(4000) DECLARE @OrigSpText1 nvarchar(4000), @...
如果对MSSQL的用户信息有兴趣的,可能会发现master.dbo.sysxlogins里面存放着用户的口令,可是呢,password字段如果不是null就是一堆看不懂的binary,这个口令是怎么加密的呢? 其实只要仔细看看master.dbo.sp_addlogin就知道了,MSSQL的sp都可以看到代码,真是不错。 让我们来看看它是怎么做的,注意这一行select @passwd = pwdencrypt(@passwd),这个时后@passwd就被加密了,让我们也来试一下 DECLARE @ClearPWD var...
1.字符串函数 长度与分析用 datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格 substring(expression,start,length) 不多说了,取子串 right(char_expr,int_expr) 返回字符串右边int_expr个字符 字符操作类 upper(char_expr) 转为大写 lower(char_expr) 转为小写 space(int_expr) 生成int_expr个空格 replicate(char_expr,int_expr)复制字符串int_expr次 reverse(char_expr) 反转字符串 stuff(char_expr1,...
SQLServer中的时间函数 在SQLserver中有两种获得时间的函数getTimestamp和getDate这两种函数在我们使用过程中发现这两种函数并无显著差异。但是如果服务器跨时区那么现实结果会存在显著差异数据库里存储的数据是Date类型,获得的时间和程序真实运行的容器(服务器)所在的时区相关区别: https://blog.csdn.net/haolexiao/article/details/79489343 mysql中的时间函数 now() current_timestamp() 和 sysdate()这三个函数都可以获得...
SQL Server中截取字符串常用函数 截取字符串中的最后一个斜杠后的所有字符: SELECT A.PIC_URL, RIGHT(A.PIC_URL,(CHARINDEX(/,REVERSE(A.PIC_URL))-1)) FROM DBO.TXT_PIC A;SQL Server 中截取字符串常用的函数: 1.LEFT ( character_expression , integer_expression ) 函数说明:LEFT ( 源字符串 , 要截取最左边的字符数 ) 返回从字符串左边开始指定个数的字符 select LEFT(SQL_Server_2008,4 ); 返回结果:SQL_ 2.RIGHT ( ch...
SQL Server函数之空值处理 coalesce( expression [ ,...n ] )返回其参数中第一个非空表达式。 Select coalesce(null,null,1,2) //结果为 1 coalesce(expression1,...n) 与此 case函数等效:CASE WHEN (expression1 IS NOT NULL) THEN expression1 ... WHEN (expressionN IS NOT NULL) THEN expressionN ELSE NULL END 注意:当第一个表达式为字符串且不能转化为整数时,若在后面的表达式中有整数,这样的语句是会报错的。例如...
SQL SERVER使用STUFF函数拼接记录为逗号分隔符SQL STUFF函数 拼接字符串 今日看到一篇文章,是关于和并列的,也研究了下,还是不错的 要这种效果。 create table tb(idint, value varchar(10))insert into tbvalues(1,aa)insert into tbvalues(1,bb)insert into tbvalues(2,aaa)insert into tbvalues(2,bbb)insert into tbvalues(2,ccc)go /* stuff(param1, startIndex, length, param2)说明:将param1中自star...
下面是sql server实例: select GETDATE() --getdate这个函数是获取当前系统时间也就是今天的日期时间、看第1个结果select DATEADD(YY,1,GETDATE()) --dateadd这个函数是增加日期、框里mm是月份、1是增加1个月、就是说在今天的日期上再加1个月--对比一下第1个结果和第2个、第1个是3月份、然后增加1个月就是4月份--mm是月份、yyyy或者yy是年份、ww是增加1个月但是是从1号开始、dd是日、看第2个结果select DATEDIFF(YY,'2008-...
-- =============================================-- Description:字符串拆分-- =============================================ALTER FUNCTION [dbo].[F_SQLSERVER_SPLIT](@Long_str NVARCHAR(MAX),@split_str NVARCHAR(100)) RETURNS @tmp TABLE( ID inT IDENTITY PRIMARY KEY, Short_str NVARCHAR(MAX) ) AS BEGIN IF @Long_str IS NULL OR @Long_str= RETURN;DECLARE @sho...
SQL专栏 SQL数据库基础知识汇总 SQL数据库高级知识汇总 1、统计函数(聚合函数)AVG() --求平均值 COUNT() --统计数目 MAX() --求最大值 MIN() --求最小值 SUM() --求和 STDEV() --STDEV()函数返回表达式中所有数据的标准差 STDEVP() --STDEVP()函数返回总体标准差 VAR() --VAR()函数返回表达式中所有值的统计变异数 VARP() --VARP()函数返回总体变异数(提示:可以左右滑动代码) 2、算术函数/***三角函数...