久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

整理聲明的 SQL 變量

Collate declared SQL variable(整理聲明的 SQL 變量)
本文介紹了整理聲明的 SQL 變量的處理方法,對(duì)大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

我一直在查看這段代碼復(fù)制如下,它尋找非 ASCII 字符......

I've been looking at this code, reproduced below, that looks for non-ASCII characters...

select line,
  patindex('%[^ !-~]%' COLLATE Latin1_General_BIN, Line) as [Position],
  substring(Line, patindex('%[^ !-~]%' COLLATE Latin1_General_BIN, Line), 1) as [InvalidCharacter],
  ascii(substring(line, patindex('%[^ !-~]%' COLLATE Latin1_General_BIN, Line), 1)) as [ASCIICode]
from staging.APARMRE1
where patindex('%[^ !-~]%' COLLATE Latin1_General_BIN, Line) > 0

我突然想到我想為 '%[^ !-~]%' COLLATE Latin1_General_BIN 聲明一個(gè)變量,而不是每次都寫出來,但是

and it just strikes me that I'd want to declare a variable for '%[^ !-~]%' COLLATE Latin1_General_BIN instead of writing it out every time, but

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

select line,
  patindex(@regex, Line) as [Position],
  substring(Line, patindex(@regex, Line), 1) as [InvalidCharacter],
  ascii(substring(line, patindex(@regex, Line), 1)) as [ASCIICode]
from staging.APARMRE1
where patindex(@regex, Line) > 0

只是不做同樣的事情.我只是缺少一些語法嗎?不可能嗎?

just doesn't do the same thing. Am I just missing some syntax? Is it impossible?

推薦答案

這是正常的.創(chuàng)建變量時(shí),它采用數(shù)據(jù)庫的默認(rèn)排序規(guī)則.

It is normal. When you create a variable it takes default collation for database.

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

帶有 COLLATE Latin1_General_BIN 的字符串被隱式轉(zhuǎn)換為帶有數(shù)據(jù)庫默認(rèn)排序規(guī)則的字符串.

Your string with COLLATE Latin1_General_BIN is implicitly casted to string with your database default collation.

<小時(shí)>例如數(shù)據(jù)庫是Case-Insensitive.我使用您的語法創(chuàng)建區(qū)分大小寫的語法并檢查它的元數(shù)據(jù):


For example database is Case-Insensitive. I use your syntax to create case-sensitive one and check metadata of it:

DECLARE @v1 varchar(100) = 'ABC' COLLATE Latin1_General_CS_AS;

SELECT name, collation_name
FROM sys.dm_exec_describe_first_result_set(
    N'SELECT @v1 AS [@v1]', N'@v1 varchar(100)', 0);

LiveDemo

輸出:

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

變量(不包括表變量中的列)不允許定義排序規(guī)則,因此沒有如下語法:

Variables(excluding columns in table variables) do not allow to define collation so there is no syntax like:

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

這篇關(guān)于整理聲明的 SQL 變量的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請(qǐng)聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個(gè)子標(biāo)記轉(zhuǎn)換為具有多個(gè)分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個(gè)表創(chuàng)建視圖?)
Create calculated value based on calculated value inside previous row(根據(jù)前一行內(nèi)的計(jì)算值創(chuàng)建計(jì)算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對(duì)?) - IT屋-程序員軟件開發(fā)技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉(zhuǎn)換為日期/月份編號(hào)(問題和答案的組合))
主站蜘蛛池模板: 国产亚洲精品精品国产亚洲综合 | 成人三级在线播放 | 久久久国产一区二区三区四区小说 | 中文字幕免费视频 | 成人毛片视频免费 | 免费在线观看成人 | 精品一区国产 | 日本精品久久 | 国产成人精品免费视频 | 亚洲精品乱码久久久久久按摩 | 亚洲视频一区在线 | 九九综合九九 | 成人国产精品久久久 | 日韩欧美大片 | 精品一区免费 | 91精品国产一区二区三区 | 秋霞av国产精品一区 | 一区二区精品 | 伊人精品在线 | 日韩中文字幕网 | 日本三级网站在线 | 狠狠操操 | 亚洲成人av一区二区 | 色婷婷综合久久久中字幕精品久久 | 精品一二区 | 日韩精品在线一区 | 另类在线 | 国产传媒在线观看 | 夜夜草视频 | 操久久| 手机av网 | 国产观看 | 亚洲欧美在线观看 | 在线国产欧美 | 欧美激情啪啪 | 午夜免费网站 | 天天看天天爽 | 国产精品视频二区三区 | 国产四区| 91精品国产91久久综合桃花 | 羞羞视频在线观看网站 |