栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

整理声明的SQL变量

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

整理声明的SQL变量

这是正常的。创建变量时,它将采用数据库的默认排序规则。

DECLARE @regex varchar(20) = '%[^ !-~]%' COLLATE Latin1_General_BIN;

您的字符串with

COLLATE Latin1_General_BIN
隐式转换 为数据库默认排序规则的字符串。


例如数据库是

Case-Insensitive
。我使用您的语法来创建区分大小写的语法并检查其元数据:

DECLARE @v1 varchar(100) = 'ABC' COLLATE Latin1_General_CS_AS;SELECt name, collation_nameFROM sys.dm_exec_describe_first_result_set(    N'SELECT @v1 AS [@v1]', N'@v1 varchar(100)', 0);

**[
LiveDemo
](https://data.stackexchange.com/stackoverflow/query/403728)**

输出:

╔══════╦══════════════════════════════╗║ name ║        collation_name        ║╠══════╬══════════════════════════════╣║ @v1  ║ SQL_Latin1_General_CP1_CI_AS ║╚══════╩══════════════════════════════╝

变量(表变量中的列除外)不允许定义排序规则,因此没有类似以下的语法:

DECLARE @v1 varchar(100) COLLATE Latin1_General_CS_AS = 'ABC' ;-- Incorrect syntax near the keyword 'COLLATE'.


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/634600.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号