【SQL SERVER 学习笔记 -- 函数】

/* ROW_NUMBER():对结果进行编号 
   ROW_NUMBER() OVER(分组列 ORDER BY 排序列 ASC/DESC) */
SELECT 
	ROW_NUMBER()OVER(ORDER BY VIEW_A01.B01_DEPT_CODE_ORDER,VIEW_A01.A0190) AS 序号, VIEW_A01.A0190 AS 员工号
FROM VIEW_A01

/*  REPLACE("被搜索的字符串","被替换的字符串","替换的字符串")
    SUBSTRING(input_string, start, length);  从输入字符串中的位置开始提取具有指定长度的子字符串
    dbo.STRING_FIND('/',VIEW_B01.B0110,2) 返回第二个‘/’的位置,查不到返回0 */
SELECT dbo.STRING_FIND('/',VIEW_B01.B0110,2) from VIEW_B01
SELECT REPLACE(substring(VIEW_B01.B0110,0,dbo.STRING_FIND('/',VIEW_B01.B0110,2)),'/',' ') FROM VIEW_B01

/*  LEN(input_string) 返回字符串长度
    CHARINDEX(substring, string [, start_location])  返回搜索到的字符串中找到的子字符串的位置,如果未找到子字符串,则返回零
    [substring - 要搜索的子字符串;string - 搜索的数据范围,可以是文字字符串,表达式或列] */
SELECT LEN(BM_KK.MC0000)+1-(CHARINDEX('人员',BM_KK.MC0000)) AS 人员类别 from BM_KK
SELECT CHARINDEX('人员',BM_KK.MC0000) FROM BM_KK
SELECT MC0000 FROM BM_KK
SELECT LEN(BM_KK.MC0000) FROM BM_KK

/*  STUFF (source_string, start, length, change_string)
    从源字符串中删除给定长度的字符序列,并从指定的起始索引插入给定的字符序列。 */
SELECT STUFF('NIHAOWOSHIMAXIN',5,3,'1234')

-- round:四舍五入
SELECT ROUND(3.1425926, 3)
SELECT ROUND(3.1425926, 3, 1)  -- 在进行四舍五入之前,小数点后已经被截取,保留了3位。

-- DATENAME:输出日期的给定部分
/* year, yyyy, yy = Year; quarter, qq, q = Quarter; month, mm, m = month; dayofyear, dy, y = Day of the year; day, dd, d = Day;
week, ww, wk = Week; weekday, dw, w = Weekday; hour, hh = hour,minute; mi, n = Minute, second; ss, s = Second; millisecond, ms = Millisecond;*/
SELECT DATENAME(year, '2021/01/06')
SELECT DATENAME(YY,GETDATE()) AS/*  FOR XML PATH(''):将查询结果集以XML形式展现,将多行的结果,展示在同一行。	
FOR XML子句有四种最基本的模式:
  AUTO模式:返回数据表为起表名的元素,每一列的值返回为属性;
  RAW模式:返回数据行为元素,每一列的值作为元素的属性;
  PATH模式:通过简单的XPath语法来允许用户自定义嵌套的XML结构、元素、属性值
  EXPLICIT模式:通过SELECT语法定义输出XML的结构  */
--  1. 转换xml
SELECT DISTINCT POLICE FROM A01  FOR XML PATH('') 
--  2. 加个分隔符和去掉根节点。
SELECT DISTINCT  '、' +POLICE FROM A01  FOR XML PATH('') 
--  3. 配合stuff函数使用,去掉第一个分隔符号。																																																																																						
select STUFF((SELECT DISTINCT  '、' +POLICE FROM A01  FOR XML PATH('') ),1,1,'');

-- CAST:数据类型转换(例如:char转int)
SELECT CAST(123.96 AS int)
SELECT CAST('123' AS int)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值