SQL Server:数字都必须用拉丁数字指定吗?

发布于 2024-08-25 21:24:26 字数 547 浏览 2 评论 0原文

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

0123456789

使用其他字母表中的 SQL Server 数字是否有效?

Rosetta Stone:

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

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

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

这会引发 SQL Server 的异常。

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

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

Does SQL server expect numbers to be specified with digits from the latin alphabet, e.g.:

0123456789

Is it valid to give SQL Server digits in other alphabets?

Rosetta Stone:

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

i know that the client (ADO) will convert 8-bit strings to 16-bit unicode strings using the current culture. But the client is also converting numbers to strings using their current culture, e.g.:

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

Which throws SQL Server for fits.

i know that the server/database has it's defined code page and locale, but that is for strings.

Will SQL Server interpret numbers using the active (or per-login specified) locale, or must all numeric values be specifid with latin numeral digits?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

朱染 2024-09-01 21:24:26

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

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

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

From what I can tell, T-SQL requires latin digits, and decimal points specified as ..

Neither ISNUMERIC() nor CAST() can successfully test these digits, so a numeric constant using those characters would not work either.

Allowing a client to pass non-Latin digits sounds dangerously promiscuous (I'm not sure what path your data travels, but there seems to be a potential for SQL injection if user's localized input isn't being tested to be numeric.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文