我正在使用以下代码检查SQL Server中的无效名称(带有特殊字符的名称)
select First_Name
from sc.Name
where First_Name LIKE '%[^a-zA-Z]%';
如何添加对前导和尾随空格的检查?
答案 0 :(得分:1)
SQL Server中没有本机 Regex ,但有pattern matching。选择以空格结尾或以空格开头的列的简单方法是:
SELECT myColumn
FROM myTable
WHERE (myColumn LIKE '% ')
OR (myColumn LIKE ' %')
OR (myColumn LIKE '%[^a-z]%')
非常“沉重”的搜索,但对于一次性查询,它会起作用。
当然,如果您正在寻找前导和尾随空格,并且要求确实是两者都有,那么您可以使用:
(myColumn LIKE ' %[^a-z]% ')
或以上任意组合以满足您的需求。
答案 1 :(得分:1)
您可以使用@support_report.notes = params[:support_report][:notes]
if @support_report.save
redirect_to admins_support_reports_path, notice: t('admins.support_reports.add_notes.successfully')
else
redirect_to admins_support_reports_path, alert: t('admins.support_reports.add_notes.no_change')
end
检查前导和尾随空格,如下所示:
First_Name <> LTRIM(RTRIM(First_Name))
答案 2 :(得分:0)
试试这个:
create table a(b varchar(50))
insert into a VALUES(' sadf'),('asdg ')
select b from a where b LIKE '[^a-zA-Z]%' or b LIKE '%[^a-zA-Z]';