数据通过页面表单保存到数据库,由于有个选项是一个树形的下拉框,导致保存的这个字段的数据前面有空格,在sql server中可以使用 SELECT LTRIM(RTRIM(BelongPartyCode)) FROM dbo.T_PartySummaryTable PS: 我用的是sql server 2008R2 里面没有 trim 函数,这能通过左右函数分别去,SQL Server 2017新增了 trim函数! 来去掉前后的空格,但是使用了,却无法去掉空格,于是换了一种方式 使用 SEL
目前工作中遇到一个情况,需要将SQL Server中的一个字段提取拼音的首字母,字段由汉字.英文.数字以及“-”构成,百度了一堆,找到如下方法,记录一下,以备后用! 首先建立一个函数 --生成拼音首码 )) ) --WITH ENCRYPTION as begin declare @intLen int ) ) set @intLen = len(@str) set @strRet = '' begin set @temp = '' select @temp = case ) >= '帀' th
sql server 字段合并(CAST) ---------------------- select (CAST(org_no AS VARCHAR(20))+CAST(page_no AS VARCHAR(20))+CAST(djlb_no AS VARCHAR(20))) from ERP_BASIC_BILLNO_PREFIX where org_num=#{orgNum} and page_name=#{pageName} and djlb_name=#{djlbName};") 字段
--create-- SQL去除回车符,换行符,空格和水平制表符create function RepSymbolChar(@str nvarchar(max))returns nvarchar(max)as begin set @str=LTRIM(@str) set @str=RTRIM(@str) set @str=replace(@str,char(9),'') --水平制表符 set @str=replace(@str,char(10),'') -- 换行 set @str=repla
有时候一张表的一个字段是以逗号分割的一个字符串,分割的数字是明细表的主键id. 关联明细表查询可以这样做: ) ) --这是把areanos字段赋值给@areanos变量 set @areanos='1,2,3' --将拼接的SQL脚本赋值给变量 set @str='select * from area where areano in ('+@areanos+') order by areano' --调用系统存储过程,执行SQL exec sp_executesql @str
SELECT id , rownum FROM test ))),) ASC 1.如果想要根据字符型的数字排序,不建议转换成数字类型在order by,因为数据存在字符时,可能转换失败. 2.使用RIGHT方法,格式化字符串,如上述代码所示,假设rownum字段长度为10,数据中包含'1','11','tt',转换后为'0000000001','0000000011','00000000tt'
直接上代码: select case when 'workReport'=LTRIM(RTRIM(' workReport ')) then 'trim去空格成功' when 'workReport'=REPLACE(' workReport ',' ','') then 'replace去空格成功' when 'workReport'=REPLACE(' workReport ',char(ASCII(REPLACE(' workReport ','workReport',''))),'')
今天同事问我关于SQL Server在字符串尾随着空格时进行字符串对比的做法.关于这个问题正好在这里讲一下,就是SQL Server是按照ANSI/ISO SQL-92中的定义做字符串对比的. 在KB316626中已经做了阐述,就是SQL Server对待这种有尾随空格的字符是会做自动截断尾随空格再对比的. 这里做个实验吧 SELECT * FROM ( SELECT 'A' A UNION ALL SELECT 'A ' UNION ALL SELECT 'A ' UNION ALL SELE