gpt4 book ai didi

sql-server - SQL Server : Must numbers all be specified with latin numeral digits?

转载 作者:行者123 更新时间:2023-12-02 23:51:27 24 4
gpt4 key购买 nike

SQL Server 是否期望用拉丁字母中的数字指定数字,例如:

0123456789

用其他字母表示 SQL Server 数字是否有效?

罗塞塔石碑:

Latin:   01234567890
Arabic: ٠١٢٣٤٥٦٧٨٩
Bengali: ০১২৩৪৫৬৭৮৯

我知道客户端 (ADO) 将使用当前区域性将 8 位字符串转换为 16 位 unicode 字符串。但客户端也使用其当前的文化将数字转换为字符串,例如:

SELECT * FROM Inventory
WHERE Quantity > ২৩৪,৭৮

这让 SQL Server 很不舒服。

我知道服务器/数据库有其定义的代码页和区域设置,但那是针对字符串的。

SQL Server 是否会使用事件的(或每次登录指定的)区域设置来解释数字,还是必须用拉丁数字指定所有数值?

最佳答案

据我所知,T-SQL 需要拉丁数字,并将小数点指定为 .

ISNUMERIC() 和 CAST() 都无法成功测试这些数字,因此使用这些字符的数字常量也不起作用。

允许客户端传递非拉丁数字听起来很危险,混杂(我不确定数据传输的路径,但如果用户的本地化输入未经过数字测试,则似乎存在 SQL 注入(inject)的可能性。

关于sql-server - SQL Server : Must numbers all be specified with latin numeral digits?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2501487/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com