SQL 字符串相关
Posted 深海地平线
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 字符串相关相关的知识,希望对你有一定的参考价值。
一、sql中,字符串保存序号,按照数字顺序进行排序
----/*省略部分代码*/--- order by RIGHT(REPLICATE(\'0\',10)+CAST(householdNo AS varchar(10)),10) asc --householdNo 为要排序字段
二、SQL Server 时间字符串转换为DateTime格式
SELECT GETDATE() -------获取当前时间 SELECT CONVERT(DATETIME,\'2018-06-26 09:54:30.027\'); --------将时间字符串转换为DATETIME格式,
三、SQL字符串截取
1、CHARINDEX(substr ,str):返回子串 substr 在字符串 str 中第一次出现的位置,如果字符substr在字符串str中不存在,则返回0;
2、LEFT(str, length):从左边开始截取str,length是截取的长度;
3、RIGHT(str, length):从右边开始截取str,length是截取的长度;
4、SUBSTRING(str ,n ,m):返回字符串str从第n个字符截取到第m个字符;
5、REPLACE(str, n, m):将字符串str中的n字符替换成m字符;
6、LEN(str):计算字符串str的长度;
7、REVERSE(str):把字符串倒置;REVERSE("1234"); ----> 4321
实例:
SELECT ...,SGCompInfo, SUBSTRING(SGCompInfo,0,CHARINDEX(\',\' ,SGCompInfo)) SGComp, SUBSTRING(SGCompInfo,CHARINDEX(\',\' ,SGCompInfo)+1,LEN(SGCompInfo)) SGer,... FROM ....
执行结果:
四、sql字符串替换 replace函数
语法:replace(源字符串,字符串中某个字符或字符串,要修改为哪个字段)
例:(以时间格式转为时间戳为例)
select CONVERT(varchar,GETDATE(),21) timenow1 select CONVERT(char(17),replace(replace(replace(replace(CONVERT(varchar,GETDATE(),21),\'-\',\'\'),\':\',\'\'),\' \',\'\'),\'.\',\'\'))timenow2
执行结果:
五、SQL 中字母大小写的转换
以上是关于SQL 字符串相关的主要内容,如果未能解决你的问题,请参考以下文章
spark关于join后有重复列的问题(org.apache.spark.sql.AnalysisException: Reference '*' is ambiguous)(代码片段