我有客户详细信息,有姓氏列,
某些记录的名称前后都有空格,
我想按字母顺序排序,但工作不正常,
这个屏幕截图,我无法猜测是什么原因,
答案 0 :(得分:5)
space
被视为字符,然后在对数据进行排序时会将其考虑在内。
在插入数据库之前,您可能需要trim()
数据。
答案 1 :(得分:0)
leonardys是对的,你应该在进入数据库之前修剪所有输入。但是,仅凭这一点并不能解决人们将标点字符放在他们名字前的问题。
假设此数据库反映了用户输入,您应该进行更彻底的输入验证。仅允许按字母顺序输入(如果需要也带有重音)是一个很好的解决方案(假设您只需要真实姓名)。而不是试图消除不需要的字符,将输入限制为仅允许的输入。但是,不应限制空间,因为许多有效名称包含空格(例如Ann Mary),因此您应在输入后修剪输入。
至于更新数据库,这将是棘手的。修剪只会解决空间问题。如果这是基于用户的数据,请尝试询问具有非法字符的数据,以更新其个人资料,并且在他们这样做之前不要让他们访问该网站。您可以原谅它作为数据库升级或其他一些技术问题。
希望我帮助过。