Đầu vào SQL bao gồm tỷ lệ kèo bóng đá tối nay chuỗitỷ lệ kèo bóng đá tối naynh. tỷ lệ kèo bóng đá tối nay lệnh bao gồm tỷ lệ kèo bóng đá tối nay chuỗimã thông báo, bị chấm dứt bởi dấu chấm phẩy (Hồi;Hồi). Phần cuối của luồng đầu vào cũng chấm dứt tỷ lệ kèo bóng đá tối nay lệnh.
mã thông báo có thể là tỷ lệ kèo bóng đá tối nayTừ khóa, anđịnh danh, AĐịnh danh được trích dẫn, Anghĩa đen(hoặc hằng số) hoặc ký hiệu ký tự đặc biệt. tỷ lệ kèo bóng đá tối nay mã thông báo thường được phân tách bằng khoảng trắng (không gian, tab, newline), nhưng không cần phải có nếu không có sự mơ hồ (thường chỉ là trường hợp nếu một ký tự đặc biệt liền kề với một loại mã thông báo khác).
Ví dụ: sau đây là đầu vào SQL hợp lệ (về mặt cú pháp):
Chọn * từ my_table;
11624_11798
Ngoài ra,bình luậncó thể xảy ra trong đầu vào SQL. Chúng không phải là mã thông báo, chúng có hiệu quả tương đương với khoảng trắng.
Cú pháp SQL không nhất quán về những gì mã thông báo xác định tỷ lệ kèo bóng đá tối nay lệnh và là toán tử hoặc tham số. Một vài mã thông báo đầu tiên nói chung là tên lệnh, vì vậy trong ví dụ trên, chúng ta thường sẽ nói vềChọnxông, anHồiCập nhậtHàngvà tỷ lệ kèo bóng đá tối nayHồiChèntỷ lệ kèo bóng đá tối naynh. Nhưng ví dụCập nhật
tỷ lệ kèo bóng đá tối naynh luôn yêu cầuset
Mã thông báo xuất hiện ở tỷ lệ kèo bóng đá tối nay vị trí nhất định và biến thể cụ thể này củaChèn
cũng yêu cầuGiá trị
Để hoàn thành. tỷ lệ kèo bóng đá tối nay quy tắc cú pháp chính xác cho mỗi lệnh được mô tả trongPhần VI.
mã thông báo nhưChọn
,Cập nhật
hoặcgiá trị
Trong ví dụ trên là tỷ lệ kèo bóng đá tối nay ví dụ củaTừ khóa, nghĩa là tỷ lệ kèo bóng đá tối nay từ có ý nghĩa cố định trong ngôn ngữ SQL. Mã thông báomy_table
vàA
là ví dụ củaĐịnh danh. Họ xác định tên của tỷ lệ kèo bóng đá tối nay bảng, cột hoặc tỷ lệ kèo bóng đá tối nay đối tượng cơ sở dữ liệu khác, tùy thuộc vào lệnh mà chúng được sử dụng. Do đó, đôi khi chúng được gọi đơn giản làHồitên. tỷ lệ kèo bóng đá tối nay từ khóa và định danh có cùng cấu trúc từ vựng, có nghĩa là người ta không thể biết liệu mã thông báo là một định danh hay từ khóa mà không biết ngôn ngữ.Phụ lục C.
Định danh SQL và tỷ lệ kèo bóng đá tối nay từ khóa phải bắt đầu bằng một chữ cái (A
-Z
, nhưng cũng có tỷ lệ kèo bóng đá tối nay chữ cái có dấu hiệu và chữ cái không phải là latin) hoặc dấu gạch dưới (_
). tỷ lệ kèo bóng đá tối nay ký tự tiếp theo trong một định danh hoặc từ khóa có thể là tỷ lệ kèo bóng đá tối nay chữ cái, dấu gạch dưới, chữ số (0
-9
) hoặc dấu hiệu đô la ($
). Lưu ý rằng tỷ lệ kèo bóng đá tối nay dấu hiệu đô la không được phép trong tỷ lệ kèo bóng đá tối nay định danh theo chữ cái của tiêu chuẩn SQL, vì vậy việc sử dụng chúng có thể khiến tỷ lệ kèo bóng đá tối nay ứng dụng trở nên kém di động hơn.
Hệ thống không sử dụng nhiều hơnĐược đặt tên
-1 byte của một định danh; Tên dài hơn có thể được viết bằng tỷ lệ kèo bóng đá tối nay lệnh, nhưng chúng sẽ bị cắt ngắn.Được đặt tên
là 64 vì vậy độ dài định danh tỷ lệ kèo bóng đá tối nay đa là 63 byte. Nếu giới hạn này có vấn đề, nó có thể được nâng lên bằng cách thay đổiĐược đặt tên
hằng số trongsrc/bao gồm/pg_config_manual.h
.
tỷ lệ kèo bóng đá tối nay từ khóa và số nhận dạng chưa được trích xuất là trường hợp không nhạy cảm. Vì thế:
Cập nhật My_Table Set A = 5;
có thể được viết tương đương như:
Cập nhật My_Table Set A = 5;
Một quy ước thường được sử dụng là viết tỷ lệ kèo bóng đá tối nay từ khóa trong trường hợp trên và tên trong chữ thường, ví dụ:
Cập nhật My_Table Set A = 5;
Có tỷ lệ kèo bóng đá tối nay loại định danh thứ hai: TheĐịnh danh phân địnhhoặcĐịnh danh được trích dẫn. Nó được hình thành bằng cách kèm theo một chuỗi tỷ lệ kèo bóng đá tối nay ký tự tùy ý trong tỷ lệ kèo bóng đá tối nay trích dẫn kép ("
). tỷ lệ kèo bóng đá tối nay định danh được phân định luôn là tỷ lệ kèo bóng đá tối nay định danh, không bao giờ là tỷ lệ kèo bóng đá tối nay từ khóa."Chọn"
Có thể được sử dụng để tham khảo tỷ lệ kèo bóng đá tối nay cột hoặc bảng có tênChọn, trong khi không được trích xuấtChọn
sẽ được lấy làm từ khóa và do đó sẽ gây ra lỗi phân tích khi sử dụng khi dự kiến một bảng hoặc tên cột. Ví dụ có thể được viết bằng tỷ lệ kèo bóng đá tối nay định danh được trích dẫn như thế này:
cập nhật "my_table" set "a" = 5;
Định danh được trích dẫn có thể chứa bất kỳ ký tự nào, ngoại trừ ký tự có mã số không. .
Một biến thể của tỷ lệ kèo bóng đá tối nay định danh được trích dẫn cho phép bao gồm tỷ lệ kèo bóng đá tối nay ký tự unicode thoát được xác định bởi tỷ lệ kèo bóng đá tối nay điểm mã của chúng. Biến thể này bắt đầu bằngU &
17462_17599U & "foo"
. (Lưu ý rằng điều này tạo ra sự mơ hồ với toán tử&
. Sử dụng tỷ lệ kèo bóng đá tối nay không gian xung quanh toán tử để tránh vấn đề này.) Bên trong tỷ lệ kèo bóng đá tối nay trích dẫn, tỷ lệ kèo bóng đá tối nay ký tự Unicode có thể được chỉ định ở dạng thoát ra bằng cách viết một dấu gạch chéo ngược, theo sau là số điểm mã hexadecimal gồm bốn chữ số hoặc thay vào đó là một dấu gạch chéo ngược theo dấu hiệu cộng với số lượng mã số thập lục số sáu chữ số."Dữ liệu"
có thể được viết là
U & "D \ 0061T \ +000061"
Ví dụ ít tầm thường sau đây viết từ tiếng NgaSlon(voi) bằng chữ Cyrillic:
U & "\ 0441 \ 043b \ 043e \ 043d"
Nếu tỷ lệ kèo bóng đá tối nay ký tự thoát khác với dấu gạch chéo ngược, nó có thể được chỉ định bằng cách sử dụngUescape
mệnh đề sau tỷ lệ kèo bóng đá tối nay, ví dụ:
U & "D! 0061T! +000061" UESCAPE '!'
Nhân vật thoát có thể là bất kỳ ký tự nào khác ngoài chữ số thập lục phân, dấu cộng, một trích dẫn duy nhất, trích dẫn kép hoặc ký tự khoảng trắng. Lưu ý rằng ký tự thoát được viết bằng tỷ lệ kèo bóng đá tối nay trích dẫn đơn, không phải dấu ngoặc kép.
Để bao gồm ký tự thoát trong định danh theo nghĩa đen, hãy viết nó hai lần.
Cú pháp thoát Unicode chỉ hoạt động khi mã hóa máy chủ làUTF8
. Khi tỷ lệ kèo bóng đá tối nay mã hóa máy chủ khác được sử dụng, chỉ có tỷ lệ kèo bóng đá tối nay điểm mã trong phạm vi ASCII (lên đến\ 007F
) có thể được chỉ định. Cả hình thức 4 chữ số và 6 chữ số đều có thể được sử dụng để chỉ định tỷ lệ kèo bóng đá tối nay cặp thay thế UTF-16 để soạn tỷ lệ kèo bóng đá tối nay ký tự có điểm mã lớn hơn U+FFFF, mặc dù tính khả dụng của dạng 6 chữ số về mặt kỹ thuật làm cho điều này không cần thiết.
Trích dẫn một định danh cũng làm cho nó nhạy cảm với trường hợp, trong khi tỷ lệ kèo bóng đá tối nay tên chưa được trình cấp luôn được gấp lại thành chữ thường. Ví dụ: tỷ lệ kèo bóng đá tối nay định danhfoo
,foo
và"foo"
được coi là giống nhau bởiPostgreSQL, nhưng"foo"
và"foo"
khác với ba người này và nhau. (Việc gấp tỷ lệ kèo bóng đá tối nay tên chưa được trích dẫn thành chữ thường trongPostgreSQLkhông tương thích với tiêu chuẩn SQL, trong đó nói rằng tỷ lệ kèo bóng đá tối nay tên chưa được trích xuất nên được gấp lại thành trường hợp trên. Do đó,foo
nên tương đương với"foo"
không"foo"
Theo tiêu chuẩn. Nếu bạn muốn viết tỷ lệ kèo bóng đá tối nay ứng dụng di động, bạn nên luôn luôn trích dẫn một tên cụ thể hoặc không bao giờ trích dẫn nó.)
Có ba loạiHằng số được gõ ngầminPostgreSQL: chuỗi, chuỗi bit và số. tỷ lệ kèo bóng đá tối nay hằng số cũng có thể được chỉ định với tỷ lệ kèo bóng đá tối nay loại rõ ràng, có thể cho phép biểu diễn chính xác hơn và xử lý hiệu quả hơn bởi hệ thống.
Hằng số chuỗi trong SQL là một chuỗi tỷ lệ kèo bóng đá tối nay ký tự tùy ý bị giới hạn bởi tỷ lệ kèo bóng đá tối nay trích dẫn đơn ('
), ví dụ'Đây là tỷ lệ kèo bóng đá tối nay chuỗi'
. Để bao gồm tỷ lệ kèo bóng đá tối nay ký tự đơn lẻ trong tỷ lệ kèo bóng đá tối nay hằng số chuỗi, hãy viết hai trích dẫn đơn liền kề, ví dụ:'Dianne''s Horse'
. Lưu ý rằng đây làkhônggiống như ký tự đôi ("
).
Hai hằng số tỷ lệ kèo bóng đá tối nay chỉ được phân tách bằng khoảng trắngVới ít nhất tỷ lệ kèo bóng đá tối nay dòng mớiđược kết hợp và xử lý hiệu quả như thể chuỗi đã được viết là tỷ lệ kèo bóng đá tối nay hằng số. Ví dụ:
Chọn 'Foo'
là tương đương với:
chọn 'foobar';
nhưng:
Chọn 'foo' 'Bar';
không phải là cú pháp hợp lệ. (Hành vi hơi kỳ quái này được chỉ định bởiSQL;PostgreSQLđang tuân theo tiêu chuẩn.)
PostgreSQLCũng chấp nhậnEscapeHàngHằng số chuỗi, là tỷ lệ kèo bóng đá tối nay phần mở rộng cho tiêu chuẩn SQL. tỷ lệ kèo bóng đá tối nay hằng số chuỗi thoát được chỉ định bằng cách viết chữ cáiE
(chữ hoa hoặc chữ thường) ngay trước khi trích dẫn đơn, ví dụ:e'foo '
. (Khi tiếp tục một chuỗi thoát hằng số trên tỷ lệ kèo bóng đá tối nay dòng, hãy viếtE
Chỉ trước khi trích dẫn mở đầu tiên.) Trong tỷ lệ kèo bóng đá tối nay chuỗi thoát, tỷ lệ kèo bóng đá tối nay ký tự dấu gạch chéo ngược (\
) bắt đầu giống như cBackslash Escape23816_23938Bảng 4.1.
Bảng 4.1.Trình tự thoát hiểm Backslash
Trình tự thoát Backslash | Giải thích |
---|---|
\ B |
Backspace |
\ f |
Form Feed |
\ n |
Newline |
\ r |
Trở lại vận chuyển |
\ T |
tab |
\ ,\ ,\ (o = 0 - 7) |
Giá trị byte Octal |
\ x ,\ x (H = 0 - 9, a - f) |
Giá trị byte thập lục phân |
\ u ,\ u (x = 0 - 9, a - f) |
16 hoặc 32 bit Hexadecimal unicode Giá trị ký tự |
Bất kỳ ký tự nào khác sau tỷ lệ kèo bóng đá tối nay dấu gạch chéo ngược được thực hiện theo nghĩa đen. Do đó, để bao gồm tỷ lệ kèo bóng đá tối nay ký tự dấu gạch chéo ngược, hãy viết hai dấu gạch chéo ngược (\
). Ngoài ra, tỷ lệ kèo bóng đá tối nay trích dẫn duy nhất có thể được bao gồm trong tỷ lệ kèo bóng đá tối nay chuỗi thoát bằng cách viết\ '
, ngoài cách bình thường của''
.
Trách nhiệm của bạn là tỷ lệ kèo bóng đá tối nay chuỗi byte bạn tạo, đặc biệt là khi sử dụng tỷ lệ kèo bóng đá tối nay lần thoát hiểm hoặc thập lục phân, soạn tỷ lệ kèo bóng đá tối nay ký tự hợp lệ trong mã hóa ký tự của máy chủ. Khi mã hóa máy chủ là UTF-8, thì unicode thoát ra hoặc cú pháp thoát Unicode thay thế, được giải thích trongPhần 4.1.2.3, nên được sử dụng thay thế. (Giải pháp thay thế sẽ thực hiện mã hóa UTF-8 bằng tay và viết ra tỷ lệ kèo bóng đá tối nay byte, điều này sẽ rất cồng kềnh.)
Cú pháp thoát Unicode chỉ hoạt động đầy đủ khi mã hóa máy chủ làUTF8
. Khi tỷ lệ kèo bóng đá tối nay mã hóa máy chủ khác được sử dụng, chỉ có tỷ lệ kèo bóng đá tối nay điểm mã trong phạm vi ASCII (lên đến\ U007F
) có thể được chỉ định. Cả hình thức 4 chữ số và 8 chữ số đều có thể được sử dụng để chỉ định tỷ lệ kèo bóng đá tối nay cặp thay thế UTF-16 để soạn tỷ lệ kèo bóng đá tối nay ký tự có điểm mã lớn hơn U+FFFF, mặc dù tính khả dụng của dạng 8 chữ số về mặt kỹ thuật làm cho điều này không cần thiết.UTF8
, đầu tiên chúng được kết hợp thành tỷ lệ kèo bóng đá tối nay điểm mã duy nhất sau đó được mã hóa trong UTF-8.)
Nếu tham số cấu hìnhStandard_Conforming_StringslàTẮT
, sau đóPostgreSQLNhận ra tỷ lệ kèo bóng đá tối nay lần thoát hiểm trong cả hai hằng số chuỗi thường xuyên và thoát. Tuy nhiên, kể từPostgreSQL9.1, mặc định làtrên
, có nghĩa là việc thoát khỏi sự ngược lại chỉ được công nhận trong tỷ lệ kèo bóng đá tối nay hằng số chuỗi thoát. Hành vi này tuân thủ tiêu chuẩn nhiều hơn, nhưng có thể phá vỡ tỷ lệ kèo bóng đá tối nay ứng dụng dựa trên hành vi lịch sử, nơi thoát khỏi sự ngược lại luôn được công nhận.TẮT
, nhưng tốt hơn là di chuyển ra khỏi việc sử dụng thoát hiểm ngược. Nếu bạn cần sử dụng tỷ lệ kèo bóng đá tối nay lối thoát dấu vết để biểu diễn tỷ lệ kèo bóng đá tối nay ký tự đặc biệt, hãy viết hằng số chuỗi bằng tỷ lệ kèo bóng đá tối nayE
.
NgoàiStandard_Conforming_Strings
, tham số cấu hìnhESCET_STRING_WARNINGvàBackslash_quoteQuản lý điều trị ngược dòng trong tỷ lệ kèo bóng đá tối nay hằng số chuỗi.
ký tự có mã số 0 không thể nằm trong hằng số tỷ lệ kèo bóng đá tối nay.
PostgreSQLCũng hỗ trợ một loại cú pháp thoát khác cho tỷ lệ kèo bóng đá tối nay chuỗi cho phép chỉ định tỷ lệ kèo bóng đá tối nay ký tự Unicode tùy ý theo điểm mã. Hằng số chuỗi thoát Unicode bắt đầu bằngU &
(chữ hoa hoặc chữ thường U theo sau bởi ampersand) ngay trước khi trích dẫn mở, không có bất kỳ khoảng trống nào ở giữa, ví dụu & 'foo'
. (Lưu ý rằng điều này tạo ra sự mơ hồ với toán tử&
. Sử dụng tỷ lệ kèo bóng đá tối nay không gian xung quanh toán tử để tránh vấn đề này.) Bên trong tỷ lệ kèo bóng đá tối nay trích dẫn, tỷ lệ kèo bóng đá tối nay ký tự Unicode có thể được chỉ định ở dạng thoát ra bằng cách viết một dấu gạch chéo ngược, theo sau là số điểm mã hexadecimal gồm bốn chữ số hoặc thay vào đó là một dấu gạch chéo ngược theo dấu hiệu cộng với số lượng mã số thập lục số sáu chữ số.'Data'
có thể được viết là
u & 'd \ 0061t \ +000061'
Ví dụ ít tầm thường sau đây viết từ tiếng NgaHồiSlon(Voi) bằng chữ Cyrillic:
u & '\ 0441 \ 043b \ 043e \ 043d'
Nếu tỷ lệ kèo bóng đá tối nay ký tự lối thoát khác với mong muốn của Backslash, nó có thể được chỉ định bằng cách sử dụngUescape
mệnh đề sau tỷ lệ kèo bóng đá tối nay, ví dụ:
U & 'd! 0061T! +000061' UESCAPE '!'
ký tự thoát có thể là bất kỳ ký tự nào khác ngoài chữ số thập lục phân, dấu cộng, tỷ lệ kèo bóng đá tối nay trích dẫn duy nhất, trích dẫn kép hoặc ký tự khoảng trắng.
Cú pháp thoát Unicode chỉ hoạt động khi mã hóa máy chủ làUTF8
. Khi tỷ lệ kèo bóng đá tối nay mã hóa máy chủ khác được sử dụng, chỉ có tỷ lệ kèo bóng đá tối nay điểm mã trong phạm vi ASCII (lên đến\ 007F
) có thể được chỉ định. Cả hình thức 4 chữ số và 6 chữ số đều có thể được sử dụng để chỉ định tỷ lệ kèo bóng đá tối nay cặp thay thế UTF-16 để soạn tỷ lệ kèo bóng đá tối nay ký tự có điểm mã lớn hơn U+FFFF, mặc dù tính khả dụng của dạng 6 chữ số về mặt kỹ thuật làm cho điều này không cần thiết.UTF8
trước tiên chúng được kết hợp thành tỷ lệ kèo bóng đá tối nay điểm mã duy nhất sau đó được mã hóa trong UTF-8.)
Ngoài ra, cú pháp thoát Unicode cho tỷ lệ kèo bóng đá tối nay hằng số chuỗi chỉ hoạt động khi tham số cấu hìnhStandard_Conforming_Stringsđược bật. Điều này là do nếu không thì cú pháp này có thể gây nhầm lẫn cho tỷ lệ kèo bóng đá tối nay khách hàng phân tích tỷ lệ kèo bóng đá tối nay câu lệnh SQL đến mức nó có thể dẫn đến tiêm SQL và tỷ lệ kèo bóng đá tối nay vấn đề bảo mật tương tự.
Để đưa ký tự thoát vào tỷ lệ kèo bóng đá tối nay theo nghĩa đen, viết nó hai lần.
Trong khi cú pháp tiêu chuẩn để chỉ định tỷ lệ kèo bóng đá tối nay hằng số chuỗi thường thuận tiện, có thể khó hiểu khi chuỗi mong muốn chứa nhiều trích dẫn đơn, vì mỗi trong số đó phải được nhân đôi. Để cho phép tỷ lệ kèo bóng đá tối nay truy vấn dễ đọc hơn trong tỷ lệ kèo bóng đá tối nay tình huống như vậy,POSTGRESQLcung cấp tỷ lệ kèo bóng đá tối nay cách khác, được gọi làHồiDollar Trích dẫn, để viết tỷ lệ kèo bóng đá tối nay hằng số chuỗi. Hằng số chuỗi được trích dẫn đô la bao gồm một dấu hiệu đô la ($
), tỷ lệ kèo bóng đá tối nay tùy chọnTAGcủa số không hoặc nhiều ký tự, một dấu hiệu đồng đô la khác, một chuỗi tỷ lệ kèo bóng đá tối nay ký tự tùy ý tạo nên nội dung chuỗi, một dấu hiệu đô la, cùng một thẻ bắt đầu báo giá đô la này và một dấu hiệu đô la. Ví dụ: đây là hai cách khác nhau để chỉ định chuỗiDianne's HorseKhănSử dụng trích dẫn đô la:
$$ Dianne's Horse $$
Lưu ý rằng bên trong chuỗi được trích xuất bằng đô la, có thể sử dụng tỷ lệ kèo bóng đá tối nay báo giá đơn mà không cần phải thoát ra. Thật vậy, không có ký tự nào trong chuỗi trích dẫn đô la từng bị thoát ra: nội dung chuỗi luôn được viết theo nghĩa đen.
Có thể làm tổ tỷ lệ kèo bóng đá tối nay hằng số chuỗi được trích dẫn bằng cách chọn tỷ lệ kèo bóng đá tối nay thẻ khác nhau ở mỗi cấp độ lồng. Điều này được sử dụng phổ biến nhất trong tỷ lệ kèo bóng đá tối nay định nghĩa chức năng viết.
$ chức năng $
Ở đây, tỷ lệ kèo bóng đá tối nay$ q $ [\ t \ r \ n \ v \] $ q $
đại diện cho tỷ lệ kèo bóng đá tối nay chữ được trích dẫn bằng đô la[\ t \ r \ n \ v \]
, sẽ được nhận ra khi cơ thể chức năng được thực thi bởiPostgreSQL. Nhưng vì tỷ lệ kèo bóng đá tối nay không khớp với Dollar Dollar trích dẫn DELIMITER$ hàm $
, nó chỉ là tỷ lệ kèo bóng đá tối nay số ký tự khác trong hằng số cho đến khi chuỗi bên ngoài có liên quan.
TAG, nếu có, của chuỗi được trích dẫn theo đô la tuân theo tỷ lệ kèo bóng đá tối nay quy tắc giống như một định danh không được trích xuất, ngoại trừ việc nó không thể chứa một dấu hiệu đô la. Thẻ nhạy cảm, vì vậy$ Tag $ tỷ lệ kèo bóng đá tối nay nội dung $ Tag $
là chính xác, nhưng$ Tag $ tỷ lệ kèo bóng đá tối nay nội dung $ Tag $
không phải.
Chuỗi được trích xuất theo đô la theo từ khóa hoặc định danh phải được tách ra khỏi nó bằng khoảng trắng; Nếu không thì dấu phân cách trích dẫn đô la sẽ được lấy như là tỷ lệ kèo bóng đá tối nay phần của định danh trước.
Trích dẫn đô la không phải là một phần của tiêu chuẩn SQL, nhưng nó thường là một cách thuận tiện hơn để viết tỷ lệ kèo bóng đá tối nay chuỗi chuỗi phức tạp hơn so với cú pháp trích dẫn đơn theo tiêu chuẩn. Nó đặc biệt hữu ích khi biểu diễn tỷ lệ kèo bóng đá tối nay hằng số chuỗi bên trong tỷ lệ kèo bóng đá tối nay hằng số khác, như thường cần trong tỷ lệ kèo bóng đá tối nay định nghĩa chức năng thủ tục.
Hằng số chuỗi bit trông giống như tỷ lệ kèo bóng đá tối nay hằng số chuỗi thông thường với AB
(chữ hoa hoặc chữ thường) ngay trước khi báo giá mở (không có khoảng trắng can thiệp), ví dụ:B'1001 '
. tỷ lệ kèo bóng đá tối nay ký tự duy nhất được phép trong tỷ lệ kèo bóng đá tối nay hằng số chuỗi bit là0
và1
.
Ngoài ra, tỷ lệ kèo bóng đá tối nay hằng số chuỗi bit có thể được chỉ định trong ký hiệu thập lục phân, sử dụng hàng đầux
(trên hoặc chữ thường), ví dụ:X'1ff '
. Ký hiệu này tương đương với hằng số tỷ lệ kèo bóng đá tối nay bit với bốn chữ số nhị phân cho mỗi chữ số thập lục phân.
Cả hai dạng hằng số bit có thể được tiếp tục trên tỷ lệ kèo bóng đá tối nay dòng giống như tỷ lệ kèo bóng đá tối nay hằng số chuỗi thông thường. Trích dẫn đô la không thể được sử dụng trong hằng số chuỗi bit.
Hằng số số được chấp nhận trong tỷ lệ kèo bóng đá tối nay hình thức chung này:
chữ số
chữ số
. [chữ số
] [E [+-]chữ số
]chữ số
].chữ số
[E [+-]Digits
]chữ số
E [+-]chữ số
WHEREchữ số
là tỷ lệ kèo bóng đá tối nay hoặc nhiều chữ số thập phân (0 đến 9). Ít nhất tỷ lệ kèo bóng đá tối nay chữ số phải là trước hoặc sau điểm thập phân, nếu tỷ lệ kèo bóng đá tối nay chữ số được sử dụng.E
), nếu có mặt. Không thể có bất kỳ không gian hoặc tỷ lệ kèo bóng đá tối nay ký tự khác được nhúng trong hằng số.
Đây là tỷ lệ kèo bóng đá tối nay số ví dụ về hằng số số hợp lệ:
42
3.5
4.
.001
5E2
1.925E-3
tỷ lệ kèo bóng đá tối nay hằng số không chứa tỷ lệ kèo bóng đá tối nay điểm thập phân cũng như số mũ ban đầu được coi là loạiSố nguyên
Nếu giá trị của nó phù hợp với loạiSố nguyên
(32 bit); Nếu không thì nó được cho là loạiBigint
Nếu giá trị của nó phù hợp với loạiBigint
(64 bit); nếu không thì nó được coi là loạiSố
. tỷ lệ kèo bóng đá tối nay hằng số chứa tỷ lệ kèo bóng đá tối nay điểm thập phân và/hoặc số mũ luôn được coi là loạiSố
.
Kiểu dữ liệu được gán ban đầu của hằng số số chỉ là một điểm bắt đầu cho tỷ lệ kèo bóng đá tối nay thuật toán độ phân giải loại. Trong hầu hết tỷ lệ kèo bóng đá tối nay trường hợp, hằng số sẽ được tự động ép buộc theo loại phù hợp nhất tùy thuộc vào ngữ cảnh.Ví dụ: bạn có thể buộc tỷ lệ kèo bóng đá tối nay giá trị số được coi là loạiReal
(float4
) bằng cách viết:
Real '1.23' - Kiểu tỷ lệ kèo bóng đá tối nay
Đây thực sự là những trường hợp đặc biệt của tỷ lệ kèo bóng đá tối nay ký hiệu đúc chung được thảo luận tiếp theo.
Hằng số của tỷ lệ kèo bóng đá tối naytùy ýLoại có thể được nhập bằng bất kỳ một trong tỷ lệ kèo bóng đá tối nay ký hiệu sau:
loại
'tỷ lệ kèo bóng đá tối nay
'tỷ lệ kèo bóng đá tối nay
'::loại
cast ('tỷ lệ kèo bóng đá tối nay
' BẰNGloại
)
Văn bản của hằng số tỷ lệ kèo bóng đá tối nay được chuyển sang thói quen chuyển đổi đầu vào cho loại được gọi làloại
. Kết quả là tỷ lệ kèo bóng đá tối nay hằng số của loại được chỉ định.
Hằng số tỷ lệ kèo bóng đá tối nay có thể được viết bằng cách sử dụng ký hiệu SQL thông thường hoặc truy xuất đô la.
Cũng có thể chỉ định tỷ lệ kèo bóng đá tối nay loại ép buộc bằng cách sử dụng cú pháp giống như hàm:
typename
('tỷ lệ kèo bóng đá tối nay
' )
Nhưng không phải tất cả tỷ lệ kèo bóng đá tối nay tên loại đều có thể được sử dụng theo cách này; nhìn thấyPhần 4.2.9để biết chi tiết.
The::
,cast ()
, và cú pháp gọi chức năng cũng có thể được sử dụng để chỉ định tỷ lệ kèo bóng đá tối nay chuyển đổi loại thời gian chạy của tỷ lệ kèo bóng đá tối nay biểu thức tùy ý, như đã thảo luận trongPhần 4.2.9. Để tránh sự mơ hồ của cú pháp,
Cú pháp chỉ có thể được sử dụng để chỉ định loại hằng số đơn giản. tỷ lệ kèo bóng đá tối nay hạn chế khác trênloại
'tỷ lệ kèo bóng đá tối nay
'
Cú pháp là nó không hoạt động cho tỷ lệ kèo bóng đá tối nay loại mảng; sử dụngloại
'tỷ lệ kèo bóng đá tối nay
'::
hoặccast ()
Để chỉ định loại hằng số mảng.
Thecast ()
Cú pháp phù hợp với SQL. The
Cú pháp là tỷ lệ kèo bóng đá tối nay khái quát của tiêu chuẩn: SQL Chỉ định cú pháp này chỉ cho tỷ lệ kèo bóng đá tối nay vài loại dữ liệu, nhưngPOSTGRESQLCho phép nó cho tất cả tỷ lệ kèo bóng đá tối nay loại. Cú pháp vớiloại
'tỷ lệ kèo bóng đá tối nay
'::
là lịch sửPostgreSQLSử dụng, cũng như cú pháp gọi chức năng.
Tên toán tử là tỷ lệ kèo bóng đá tối nay chuỗi lên đếnĐược đặt tên
-1 (63 theo mặc định) tỷ lệ kèo bóng đá tối nay ký tự từ danh sách sau:
+-*/< = ~!@#%^& |
Tuy nhiên, có tỷ lệ kèo bóng đá tối nay vài hạn chế đối với tên toán tử:
--
và/*
Không thể xuất hiện ở bất cứ đâu trong tên toán tử, vì chúng sẽ được lấy tỷ lệ kèo bóng đá tối naym bắt đầu nhận xét.
Tên toán tử nhiều ký tự không thể kết thúc bằng+
hoặc-
, trừ khi tên cũng chứa ít nhất tỷ lệ kèo bóng đá tối nay trong những ký tự này:
~!@#%^& |
Ví dụ:@-
là tên toán tử được phép, nhưng*-
không. Hạn chế này cho phépPOSTGRESQLĐể phân tích tỷ lệ kèo bóng đá tối nay truy vấn tuân thủ SQL mà không yêu cầu khoảng cách giữa tỷ lệ kèo bóng đá tối nay mã thông báo.
Khi làm việc với tên toán tử không theo tiêu chuẩn SQL, bạn thường sẽ cần tách tỷ lệ kèo bóng đá tối nay toán tử liền kề với không gian để tránh sự mơ hồ. Ví dụ: nếu bạn đã xác định một toán tử unary bên trái có tên@
, bạn không thể viếtx*@y
; Bạn phải viếtX* @Y
Để đảm bảo rằngPostgreSQLĐọc nó dưới dạng hai tên toán tử không tỷ lệ kèo bóng đá tối nay.
tỷ lệ kèo bóng đá tối nay số ký tự không phải là chữ và số có ý nghĩa đặc biệt khác với việc là người vận hành. Chi tiết về việc sử dụng có thể được tìm thấy tại vị trí mô tả phần tử cú pháp tương ứng.
tỷ lệ kèo bóng đá tối nay dấu hiệu đô la ($
) Theo sau là tỷ lệ kèo bóng đá tối nay chữ số được sử dụng để biểu diễn một tham số vị trí trong phần thân của định nghĩa hàm hoặc câu lệnh đã chuẩn bị. Trong tỷ lệ kèo bóng đá tối nay bối cảnh khác, dấu hiệu đồng đô la có thể là một phần của định danh hoặc hằng số chuỗi được trích dẫn đô la.
ngoặc đơn (()
) có ý nghĩa thông thường của chúng đối với tỷ lệ kèo bóng đá tối nay biểu thức nhóm và thực thi ưu tiên. Trong một số trường hợp, dấu ngoặc đơn được yêu cầu như là một phần của cú pháp cố định của một lệnh SQL cụ thể.
Cấu trúc ([]
) được sử dụng để chọn tỷ lệ kèo bóng đá tối nay phần tử của một mảng. Nhìn thấyPhần 8.15Để biết thêm thông tin về mảng.
dấu phẩy (,
) được sử dụng trong một số cấu trúc cú pháp để tách tỷ lệ kèo bóng đá tối nay yếu tố của danh sách.
Semicolon (;
) chấm dứt lệnh SQL. Nó không thể xuất hiện ở bất cứ đâu trong tỷ lệ kèo bóng đá tối nay lệnh, ngoại trừ trong tỷ lệ kèo bóng đá tối nay hằng số chuỗi hoặc định danh được trích dẫn.
Đại tá (:
) được sử dụng để chọnSlicesHàngTừ mảng. (Nhìn thấyPhần 8.1548498_48594
Asterisk (*
) được sử dụng trong một số bối cảnh để biểu thị tất cả tỷ lệ kèo bóng đá tối nay trường của hàng bảng hoặc giá trị tổng hợp. Nó cũng có một ý nghĩa đặc biệt khi được sử dụng làm đối số của hàm tổng hợp, cụ thể là tổng hợp không yêu cầu bất kỳ tham số rõ ràng nào.
Thời kỳ (.
) được sử dụng trong tỷ lệ kèo bóng đá tối nay hằng số số và để phân tách lược đồ, bảng và tên cột.
Một bình luận là một chuỗi tỷ lệ kèo bóng đá tối nay ký tự bắt đầu với tỷ lệ kèo bóng đá tối nay dấu gạch ngang gấp đôi và mở rộng đến cuối dòng, ví dụ:
- Đây là tỷ lệ kèo bóng đá tối nay bình luận SQL tiêu chuẩn
Ngoài ra, có thể sử dụng nhận xét khối kiểu C:
/* Nhận xét đa dòng
nơi nhận xét bắt đầu bằng/*
và mở rộng đến sự xuất hiện phù hợp của*/
. tỷ lệ kèo bóng đá tối nay bình luận khối này làm tổ, như được chỉ định trong tiêu chuẩn SQL nhưng không giống như C, để người ta có thể nhận xét tỷ lệ kèo bóng đá tối nay khối mã lớn hơn có thể chứa tỷ lệ kèo bóng đá tối nay nhận xét khối hiện có.
tỷ lệ kèo bóng đá tối nay nhận xét được xóa khỏi luồng đầu vào trước khi phân tích cú pháp tiếp theo và được thay thế tỷ lệ kèo bóng đá tối nay cách hiệu quả bằng khoảng trắng.
Bảng 4.2Hiển thị ưu tiên và tính kết hợp của tỷ lệ kèo bóng đá tối nay toán tử trongPostgreSQL. Hầu hết tỷ lệ kèo bóng đá tối nay nhà khai thác có cùng mức độ ưu tiên và được liên kết trái.
Đôi khi bạn sẽ cần thêm dấu ngoặc đơn khi sử dụng tỷ lệ kèo bóng đá tối nay kết hợp tỷ lệ kèo bóng đá tối nay toán tử nhị phân và Unary. Ví dụ:
Chọn 5! - 6;
sẽ được phân tích cú pháp như:
Chọn 5! (- 6);
Bởi vì trình phân tích cú pháp không có ý tưởng - cho đến khi quá muộn - rằng!
được định nghĩa là toán tử postfix, không phải là infix. Để có được hành vi mong muốn trong trường hợp này, bạn phải viết:
Chọn (5!) - 6;
Đây là giá mà tỷ lệ kèo bóng đá tối nay người phải trả cho khả năng mở rộng.
Bảng 4.2.Người vận hành ưu tiên (cao nhất đến thấp nhất)
toán tử/phần tử | Associativity | Mô tả |
---|---|---|
. |
trái | Dấu phân cách bảng/cột |
:: |
trái | PostgreSQL-Style typecast |
[ ] |
trái | Lựa chọn phần tử mảng |
+ - |
phải | Unary Plus, Unary Minus |
^ |
trái | số mũ |
* / % |
trái | Nhân, chia, modulo |
+ - |
trái | Bổ sung, trừ |
(bất kỳ toán tử nào khác) | trái | Tất cả tỷ lệ kèo bóng đá tối nay toán tử người bản địa và người dùng khác |
giữa in như ilike tương tự |
Ngăn chặn phạm vi, đặt thành viên, khớp tỷ lệ kèo bóng đá tối nay | |
< = <= = < |
tỷ lệ kèo bóng đá tối nay toán tử so sánh | |
là isnull notnull |
là đúng ,là sai ,là null ,khác với , v.v. |
|
không |
phải | phủ định logic |
và |
trái | Kết hợp logic |
hoặc |
trái | Phân biệt logic |
Lưu ý rằng tỷ lệ kèo bóng đá tối nay quy tắc ưu tiên toán tử cũng áp dụng cho tỷ lệ kèo bóng đá tối nay toán tử do người dùng xác định có cùng tên với tỷ lệ kèo bóng đá tối nay toán tử tích hợp đã đề cập ở trên. Ví dụ: nếu bạn xác định A+Nhà điều hành cho tỷ lệ kèo bóng đá tối nay số loại dữ liệu tùy chỉnh, nó sẽ có mức độ ưu tiên giống như+toán tử, bất kể bạn tỷ lệ kèo bóng đá tối naym gì.
Khi tên toán tử có trình độ lược đồ được sử dụng trongNhà điều hành
Cú pháp, ví dụ trong:
Chọn 3 toán tử (pg_catalog.+) 4;
TheNhà điều hành
Xây dựng được thực hiện để có quyền ưu tiên mặc định được hiển thị trongBảng 4.2choHồiBất kỳ toán tử nào khácKhăn. Điều này đúng bất kể toán tử cụ thể nào xuất hiện bên trongToán tử ()
.
POSTGRESQLPhiên bản trước 9.5 đã sử dụng tỷ lệ kèo bóng đá tối nay quy tắc ưu tiên toán tử hơi khác nhau. Cụ thể,<=
=
và<
từng được coi là người vận hành chung;là
tỷ lệ kèo bóng đá tối nay bài kiểm tra được sử dụng để có mức độ ưu tiên cao hơn; Vàkhông giữa
và tỷ lệ kèo bóng đá tối nay cấu trúc liên quan đã hành động không nhất quán, được thực hiện trong một số trường hợp có quyền ưu tiên củakhông
thay vìgiữa
. tỷ lệ kèo bóng đá tối nay quy tắc này đã được thay đổi để tuân thủ tốt hơn với tiêu chuẩn SQL và để giảm sự nhầm lẫn từ việc xử lý không nhất quán tỷ lệ kèo bóng đá tối nay cấu trúc tương đương logic.Không có toán tử như vậyHàngThất bại có thể được giải quyết bằng cách thêm dấu ngoặc đơn. Tuy nhiên, có những trường hợp góc trong đó tỷ lệ kèo bóng đá tối nay truy vấn có thể thay đổi hành vi mà không có bất kỳ lỗi phân tích cú pháp nào được báo cáo.toán tử_precedence_warningĐã bật để xem có bất kỳ cảnh báo nào được ghi lại không.