首页 \ 问答 \ 按包含数字和字母的字段排序(Order by a field containing Numbers and Letters)

按包含数字和字母的字段排序(Order by a field containing Numbers and Letters)

我需要从Delphi XE2下的现有Padadox数据库中提取数据(是的,我超过10年将它们分开......)。

我需要根据包含以下值的字段(示例中的id)来排序结果:'1','2 a','100','1 b','50 bis'...并得到:

- 1
- 1 b
- 2 a
- 50 bis
- 100

也许这样的事情可以做到,但那些关键字不存在:

SELECT id, TRIM(TRIM(ALPHA FROM id)) as generated, TRIM(TRIM(NUMBER FROM id)) as generatedbis, etc
FROM "my.db"
WHERE ...
ORDER BY generated, generatedbis

我怎么能用矛盾实现这样的排序......?


I need to extract data from an existing Padadox database under Delphi XE2 (yes, i more than 10 years divide them...).

i need to order the result depending on a field (id in the example) containing values such as : '1', '2 a', '100', '1 b', '50 bis'... and get this :

- 1
- 1 b
- 2 a
- 50 bis
- 100

maybe something like that could do it, but those keywords don't exist :

SELECT id, TRIM(TRIM(ALPHA FROM id)) as generated, TRIM(TRIM(NUMBER FROM id)) as generatedbis, etc
FROM "my.db"
WHERE ...
ORDER BY generated, generatedbis

how could i achieve such ordering with paradox... ?


原文:https://stackoverflow.com/questions/10028951
更新时间:2023-05-20 07:05

最满意答案

如果赋予它的表达式为False ,0, None''[]等, if不会评估if语句的主体False语句不会尝试检测number是否尝试为字符串/ int。

因此,如果用户输入0,则number = int(input(question))将运行正常,但数字将为零,因此不会评估if语句的主体。

try / except的目的是检查try主体中的语句是否会运行错误。 因此,如果用户输入一些数字,则number = int(input(question))将运行没有任何问题。 如果用户输入的内容不是整数,则number = int(input(question))将为您提供ValueError ,而except块将捕获错误并进行评估。


The body of the if statement will NOT be evaluated if the expression given to it is False, 0, None, '', [], etc. The if statement will not try to detect if number is trying to be a string/int.

So if the user enters 0, then number = int(input(question)) will run just fine, but number will be zero, so the body of the if statement will not be evaluated.

The purpose of the try/except is to check if the statements in the try body will run in to errors. So if a user enters some numbers, then number = int(input(question)) will run without any problems. If a user enters something that is not an integer, then number = int(input(question)) will give you a ValueError, and the except block will catch the error and be evaluated.

相关问答

更多

相关文章

更多

最新问答

更多
  • h2元素推动其他h2和div。(h2 element pushing other h2 and div down. two divs, two headers, and they're wrapped within a parent div)
  • 创建一个功能(Create a function)
  • 我投了份简历,是电脑编程方面的学徒,面试时说要培训三个月,前面
  • PDO语句不显示获取的结果(PDOstatement not displaying fetched results)
  • Qt冻结循环的原因?(Qt freezing cause of the loop?)
  • TableView重复youtube-api结果(TableView Repeating youtube-api result)
  • 如何使用自由职业者帐户登录我的php网站?(How can I login into my php website using freelancer account? [closed])
  • SQL Server 2014版本支持的最大数据库数(Maximum number of databases supported by SQL Server 2014 editions)
  • 我如何获得DynamicJasper 3.1.2(或更高版本)的Maven仓库?(How do I get the maven repository for DynamicJasper 3.1.2 (or higher)?)
  • 以编程方式创建UITableView(Creating a UITableView Programmatically)
  • 如何打破按钮上的生命周期循环(How to break do-while loop on button)
  • C#使用EF访问MVC上的部分类的自定义属性(C# access custom attributes of a partial class on MVC with EF)
  • 如何获得facebook app的publish_stream权限?(How to get publish_stream permissions for facebook app?)
  • 如何防止调用冗余函数的postgres视图(how to prevent postgres views calling redundant functions)
  • Sql Server在欧洲获取当前日期时间(Sql Server get current date time in Europe)
  • 设置kotlin扩展名(Setting a kotlin extension)
  • 如何并排放置两个元件?(How to position two elements side by side?)
  • 如何在vim中启用python3?(How to enable python3 in vim?)
  • 在MySQL和/或多列中使用多个表用于Rails应用程序(Using multiple tables in MySQL and/or multiple columns for a Rails application)
  • 如何隐藏谷歌地图上的登录按钮?(How to hide the Sign in button from Google maps?)
  • Mysql左连接旋转90°表(Mysql Left join rotate 90° table)
  • dedecms如何安装?
  • 在哪儿学计算机最好?
  • 学php哪个的书 最好,本人菜鸟
  • 触摸时不要突出显示表格视图行(Do not highlight table view row when touched)
  • 如何覆盖错误堆栈getter(How to override Error stack getter)
  • 带有ImageMagick和许多图像的GIF动画(GIF animation with ImageMagick and many images)
  • USSD INTERFACE - > java web应用程序通信(USSD INTERFACE -> java web app communication)
  • 电脑高中毕业学习去哪里培训
  • 正则表达式验证SMTP响应(Regex to validate SMTP Responses)