OushuDB 用戶(hù)指南類(lèi)型轉(zhuǎn)換之操作符

image

下面講解了如何在一次操作符調(diào)用中確定所使用的究竟是哪個(gè)操作符繁堡。請(qǐng)注意這個(gè)過(guò)程間接受被調(diào)用操作符的優(yōu)先級(jí)影響揭措。詳閱?\u0013WEDRIVE_FILE {\&quot;fileName\&quot;:\&quot;操作符優(yōu)先級(jí)\&quot;,\&quot;fileType\&quot;:\&quot;Link\&quot;,\&quot;fileExt\&quot;:\&quot;AutoLink\&quot;,\&quot;fileId\&quot;:\&quot;\&quot;,\&quot;spaceId\&quot;:\&quot;\&quot;,\&quot;fileUrl\&quot;:\&quot;http://www.oushu.com/docs/ch/sql-lexical-structure.html#id15\&quot;,\&quot;layoutType\&quot;:\&quot;inline\&quot;}\u0014操作符優(yōu)先級(jí)\u0015?订雾。\n操作符類(lèi)型解析\n從系統(tǒng)表pg_operator中選出要考慮的操作符夺溢。 如果使用了一個(gè)不帶模式修飾的操作符名(常見(jiàn)的狀況)登澜, 那么認(rèn)為該操作符是那些在當(dāng)前搜索路徑中名字和參數(shù)個(gè)數(shù)都匹配的操作符 (參閱?\u0013WEDRIVE_FILE {\&quot;fileName\&quot;:\&quot;模式搜索路徑\&quot;,\&quot;fileType\&quot;:\&quot;Link\&quot;,\&quot;fileExt\&quot;:\&quot;AutoLink\&quot;,\&quot;fileId\&quot;:\&quot;\&quot;,\&quot;spaceId\&quot;:\&quot;\&quot;,\&quot;fileUrl\&quot;:\&quot;http://www.oushu.com/docs/ch/schemas.html#id4\&quot;,\&quot;layoutType\&quot;:\&quot;inline\&quot;}\u0014模式搜索路徑\u0015?)淹辞。如果給出一個(gè)帶修飾的操作符名, 那么只考慮指定模式中的操作符竭翠。\n如果搜索路徑中找到了多個(gè)相同參數(shù)類(lèi)型的操作符振坚,那么只考慮最早出現(xiàn)在路徑中的那一個(gè)。 但是不同參數(shù)類(lèi)型的操作符將被平等看待斋扰,而不管它們?cè)诼窂街械奈恢萌绾味砂恕n查找精確接受輸入?yún)?shù)類(lèi)型的操作符。如果找到一個(gè)(在一組被考慮的操作符中传货, 可能只存在一個(gè)精確匹配的)屎鳍,則用之。\n如果一個(gè)雙目操作符調(diào)用中的一個(gè)參數(shù)是unknown類(lèi)型问裕, 則在本次檢查中假設(shè)其與另一個(gè)參數(shù)類(lèi)型相同逮壁。包括兩個(gè)unknown 輸入的調(diào)用或一個(gè)一元帶有unknown輸入的操作符,將絕不會(huì)在此處找到匹配粮宛。\n查找最佳匹配貌踏。\na. 拋棄那些輸入類(lèi)型不匹配并且也不能隱式轉(zhuǎn)換成匹配的候選操作符。 unknown文本在這種情況下可以轉(zhuǎn)換成任何東西窟勃。 如果只剩下一個(gè)候選項(xiàng),則用之逗堵,否則繼續(xù)下一步秉氧。\nb. 遍歷所有候選操作符,保留那些輸入類(lèi)型匹配最準(zhǔn)確的蜒秤。(此時(shí)汁咏,域被看作和他們的基本類(lèi)型相同亚斋。) 如果沒(méi)有一個(gè)操作符能被保留,則保留所有候選攘滩。如果只剩下一個(gè)候選項(xiàng)帅刊,則用之,否則繼續(xù)下一步漂问。\nc. 遍歷所有候選操作符赖瞒,保留那些需要類(lèi)型轉(zhuǎn)換時(shí)接受(屬于輸入數(shù)據(jù)類(lèi)型的類(lèi)型范疇的)首選類(lèi)型位置最多的操作符。如果沒(méi)有接受首選類(lèi)型的操作符蚤假,則保留所有候選栏饮。如果只剩下一個(gè)候選項(xiàng),則用之磷仰,否則繼續(xù)下一步袍嬉。\nd. 如果有任何輸入?yún)?shù)是unknown類(lèi)型,檢查剩余的候選操作符對(duì)應(yīng)參數(shù)位置的類(lèi)型范疇灶平。 在每一個(gè)能夠接受字符串類(lèi)型范疇的位置使用 string類(lèi)型(這種對(duì)字符串的偏愛(ài)是合適的伺通, 因?yàn)?unknown 文本確實(shí)像字符串)。另外逢享,如果所有剩下的候選操作符都接受相同的類(lèi)型范疇罐监, 則選擇該類(lèi)型范疇,否則拋出一個(gè)錯(cuò)誤(因?yàn)樵跊](méi)有更多線索的條件下無(wú)法作出正確的選擇)拼苍。然后笑诅, 如果任意候選操作符在某個(gè)給定的參數(shù)位置接受一個(gè)首選類(lèi)型, 則拋棄那些在該參數(shù)位置接受非首選類(lèi)型的候選操作符疮鲫。\n如果只有一個(gè)操作符符合吆你,那么使用它。否則俊犯,產(chǎn)生一個(gè)錯(cuò)誤妇多。\n下面是一些例子。\n例.階乘操作符類(lèi)型解析\n在系統(tǒng)表中里只有一個(gè)階乘操作符燕侠,它以double precision類(lèi)型作為參數(shù)者祖。掃描器給下面查詢(xún)表達(dá)式的參數(shù)賦予integer的初始類(lèi)型:\nSELECT 2 ^ 3 AS \&quot;exp\&quot;;exp-----8(1 row)\n分析器對(duì)參數(shù)做類(lèi)型轉(zhuǎn)換,查詢(xún)等效于:\nSELECT CAST(2 AS double precision) ^ CAST(3 AS double precision) AS \&quot;exp\&quot;;\n例.字符串連接操作符類(lèi)型分析\n一種字符串風(fēng)格的語(yǔ)法既可以用于字符串也可以用于復(fù)雜的擴(kuò)展類(lèi)型绢彤。 未聲明類(lèi)型的字符串將被所有可能的候選操作符匹配七问。\n有一個(gè)未聲明的參數(shù)的例子:\nSELECT text 'abc' || 'def' AS \&quot;text and unknown\&quot;;text and unknown------------------abcdef(1 row)\n本例中分析器尋找兩個(gè)參數(shù)都是text的操作符, 因此第二個(gè)參數(shù)就被認(rèn)為是text類(lèi)型茫舶。\n下面是連接兩個(gè)未聲明類(lèi)型的值:\nSELECT 'abc' || 'def' AS \&quot;unspecified\&quot;;unspecified-------------abcdef(1 row)\n因?yàn)椴樵?xún)中沒(méi)有聲明任何類(lèi)型械巡,所以本例中對(duì)類(lèi)型沒(méi)有任何初始提示,因此,分析器查找所有候選操作符,發(fā)現(xiàn)既存在接受字符串類(lèi)型范疇的操作符也存在接受位串類(lèi)型范疇的操作符讥耗。因?yàn)樽址?lèi)型范疇是首選有勾,所以選擇字符串類(lèi)型范疇的首選類(lèi)型text 作為解析未知類(lèi)型文本的聲明類(lèi)型。\n例.絕對(duì)值和取反操作符類(lèi)型分析\nOushuDB 操作符表里面有幾條記錄對(duì)應(yīng)于前綴操作符@古程, 它們都用于為各種數(shù)值類(lèi)型實(shí)現(xiàn)絕對(duì)值操作蔼卡。其中之一用于float8類(lèi)型, 它是數(shù)值類(lèi)型范疇中的首選類(lèi)型挣磨。因此雇逞,在面對(duì)非數(shù)值輸入的時(shí)候,OushuDB 會(huì)使用該類(lèi)型:\nSELECT @ '-4.5' AS \&quot;abs\&quot;;abs-----4.5(1 row)\n此處趋急,系統(tǒng)在應(yīng)用選定的操作符之前隱式的轉(zhuǎn)換text類(lèi)型為float8類(lèi)型喝峦。 我們可以驗(yàn)證它是float8而不是其它類(lèi)型:\nSELECT @ '-4.5e500' AS \&quot;abs\&quot;;ERROR: \&quot;-4.5e500\&quot; is out of range for type double precision\n另一方面,前綴操作符~(按位取反)只為整數(shù)數(shù)據(jù)類(lèi)型定義呜达, 而不為float8定義谣蠢。因此,如果我們用~做類(lèi)似的實(shí)驗(yàn)將得到:\nSELECT ~ '20' AS \&quot;negation\&quot;;ERROR: operator is not unique: ~ \&quot;unknown\&quot;HINT: Could not choose a best candidate operator. You may need to add explicit type casts.\n這是因?yàn)橄到y(tǒng)無(wú)法決定幾個(gè)可能的~操作符中究竟應(yīng)該使用哪一個(gè)查近。 我們可以用明確地類(lèi)型轉(zhuǎn)換來(lái)幫它:\nSELECT ~ CAST('20' AS int8) AS \&quot;negation\&quot;;negation-----------21(1 row)\n&quot;},&quot;apool&quot;:{&quot;numToAttrib&quot;:{&quot;0&quot;:[&quot;author&quot;,&quot;p.1688850050195909&quot;],&quot;1&quot;:[&quot;font-family&quot;,&quot;Lato, proxima-nova, \&quot;Helvetica Neue\&quot;, Arial, sans-serif&quot;],&quot;2&quot;:[&quot;font-size&quot;,&quot;12pt&quot;],&quot;3&quot;:[&quot;bold&quot;,&quot;false&quot;],&quot;4&quot;:[&quot;italic&quot;,&quot;false&quot;],&quot;5&quot;:[&quot;color&quot;,&quot;rgb(64, 64, 64)&quot;],&quot;6&quot;:[&quot;background-color&quot;,&quot;rgb(252, 252, 252)&quot;],&quot;7&quot;:[&quot;letter-spacing&quot;,&quot;0pt&quot;],&quot;8&quot;:[&quot;field-char-type&quot;,&quot;begin&quot;],&quot;9&quot;:[&quot;field-char-type&quot;,&quot;separate&quot;],&quot;10&quot;:[&quot;field-char-type&quot;,&quot;end&quot;],&quot;11&quot;:[&quot;pap-specialIndent&quot;,&quot;0pt&quot;],&quot;12&quot;:[&quot;pap-line&quot;,&quot;1.3&quot;],&quot;13&quot;:[&quot;pap-line-rule&quot;,&quot;auto&quot;],&quot;14&quot;:[&quot;snapToGrid&quot;,&quot;1&quot;],&quot;15&quot;:[&quot;bold&quot;,&quot;true&quot;],&quot;16&quot;:[&quot;pap-left-indent&quot;,&quot;18pt&quot;],&quot;17&quot;:[&quot;pap-list-id&quot;,&quot;q1qoua&quot;],&quot;18&quot;:[&quot;pap-list-level&quot;,&quot;0&quot;],&quot;19&quot;:[&quot;pap-list-template-id&quot;,&quot;4m57z3&quot;],&quot;20&quot;:[&quot;pap-list-level&quot;,&quot;1&quot;],&quot;21&quot;:[&quot;font-family&quot;,&quot;Consolas, \&quot;Andale Mono WT\&quot;, \&quot;Andale Mono\&quot;, \&quot;Lucida Console\&quot;, \&quot;Lucida Sans Typewriter\&quot;, \&quot;DejaVu Sans Mono\&quot;, \&quot;Bitstream Vera Sans Mono\&quot;, \&quot;Liberation Mono\&quot;, \&quot;Nimbus Mono L\&quot;, Monaco, \&quot;Courier New\&quot;, Courier, monospace&quot;],&quot;22&quot;:[&quot;font-size&quot;,&quot;9pt&quot;],&quot;23&quot;:[&quot;color&quot;,&quot;rgb(51, 51, 51)&quot;],&quot;24&quot;:[&quot;background-color&quot;,&quot;none&quot;],&quot;25&quot;:[&quot;color&quot;,&quot;rgb(0, 153, 153)&quot;],&quot;26&quot;:[&quot;color&quot;,&quot;rgb(221, 17, 68)&quot;],&quot;27&quot;:[&quot;color&quot;,&quot;rgb(0, 134, 179)&quot;]},&quot;nextNum&quot;:28},&quot;keyFramesInfo&quot;:{&quot;frames&quot;:[],&quot;src&quot;:&quot;copy&quot;}}","storyAtexts":[{"storyId":"LSTTMP","atext":"{&quot;atext&quot;:{&quot;attribs&quot;:&quot;01234567+101894a67+1018a67+1b18a67+101cd4e67+1012f4g67+1018h4i67+101cj4k67+1&quot;,&quot;text&quot;:&quot;\n\n\n\n\n\n\n\n&quot;},&quot;apool&quot;:{&quot;numToAttrib&quot;:{&quot;0&quot;:[&quot;list-start&quot;,&quot;0&quot;],&quot;1&quot;:[&quot;list-text&quot;,&quot;%1.&quot;],&quot;2&quot;:[&quot;list-format&quot;,&quot;number&quot;],&quot;3&quot;:[&quot;pap-left-indent&quot;,&quot;0em&quot;],&quot;4&quot;:[&quot;pap-specialIndent&quot;,&quot;0em&quot;],&quot;5&quot;:[&quot;pap-list-level&quot;,&quot;0&quot;],&quot;6&quot;:[&quot;pap-list-template-id&quot;,&quot;4m57z3&quot;],&quot;7&quot;:[&quot;author&quot;,&quot;p.1688850050195909&quot;],&quot;8&quot;:[&quot;list-format&quot;,&quot;lowerLetter&quot;],&quot;9&quot;:[&quot;pap-left-indent&quot;,&quot;2em&quot;],&quot;10&quot;:[&quot;pap-list-level&quot;,&quot;1&quot;],&quot;11&quot;:[&quot;list-start&quot;,&quot;4&quot;],&quot;12&quot;:[&quot;list-format&quot;,&quot;lowerRoman&quot;],&quot;13&quot;:[&quot;pap-left-indent&quot;,&quot;4em&quot;],&quot;14&quot;:[&quot;pap-list-level&quot;,&quot;2&quot;],&quot;15&quot;:[&quot;pap-left-indent&quot;,&quot;6em&quot;],&quot;16&quot;:[&quot;pap-list-level&quot;,&quot;3&quot;],&quot;17&quot;:[&quot;pap-left-indent&quot;,&quot;8em&quot;],&quot;18&quot;:[&quot;pap-list-level&quot;,&quot;4&quot;],&quot;19&quot;:[&quot;pap-left-indent&quot;,&quot;10em&quot;],&quot;20&quot;:[&quot;pap-list-level&quot;,&quot;5&quot;]},&quot;nextNum&quot;:21},&quot;keyFramesInfo&quot;:{&quot;frames&quot;:[],&quot;src&quot;:&quot;copy&quot;}}"}],"srcGlobalPadId":"w2_ACwAzAYZAEwNgTCtvXoR5q0TibBjC"}" data-version="1.0.0"></melo-data>

下面講解了如何在一次操作符調(diào)用中確定所使用的究竟是哪個(gè)操作符眉踱。請(qǐng)注意這個(gè)過(guò)程間接受被調(diào)用操作符的優(yōu)先級(jí)影響。詳閱 操作符優(yōu)先級(jí) 霜威。

操作符類(lèi)型解析

  1. 從系統(tǒng)表pg_operator中選出要考慮的操作符谈喳。 如果使用了一個(gè)不帶模式修飾的操作符名(常見(jiàn)的狀況), 那么認(rèn)為該操作符是那些在當(dāng)前搜索路徑中名字和參數(shù)個(gè)數(shù)都匹配的操作符 (參閱 模式搜索路徑 )戈泼。如果給出一個(gè)帶修飾的操作符名婿禽, 那么只考慮指定模式中的操作符。

    1. 如果搜索路徑中找到了多個(gè)相同參數(shù)類(lèi)型的操作符大猛,那么只考慮最早出現(xiàn)在路徑中的那一個(gè)扭倾。 但是不同參數(shù)類(lèi)型的操作符將被平等看待,而不管它們?cè)诼窂街械奈恢萌绾巍?/li>
  2. 查找精確接受輸入?yún)?shù)類(lèi)型的操作符挽绩。如果找到一個(gè)(在一組被考慮的操作符中膛壹, 可能只存在一個(gè)精確匹配的),則用之唉堪。

    1. 如果一個(gè)雙目操作符調(diào)用中的一個(gè)參數(shù)是unknown類(lèi)型模聋, 則在本次檢查中假設(shè)其與另一個(gè)參數(shù)類(lèi)型相同。包括兩個(gè)unknown 輸入的調(diào)用或一個(gè)一元帶有unknown輸入的操作符唠亚,將絕不會(huì)在此處找到匹配链方。
  3. 查找最佳匹配。

a. 拋棄那些輸入類(lèi)型不匹配并且也不能隱式轉(zhuǎn)換成匹配的候選操作符灶搜。 unknown文本在這種情況下可以轉(zhuǎn)換成任何東西侄柔。 如果只剩下一個(gè)候選項(xiàng)共啃,則用之,否則繼續(xù)下一步暂题。

b. 遍歷所有候選操作符,保留那些輸入類(lèi)型匹配最準(zhǔn)確的究珊。(此時(shí)薪者,域被看作和他們的基本類(lèi)型相同。) 如果沒(méi)有一個(gè)操作符能被保留剿涮,則保留所有候選言津。如果只剩下一個(gè)候選項(xiàng),則用之取试,否則繼續(xù)下一步悬槽。

c. 遍歷所有候選操作符,保留那些需要類(lèi)型轉(zhuǎn)換時(shí)接受(屬于輸入數(shù)據(jù)類(lèi)型的類(lèi)型范疇的)首選類(lèi)型位置最多的操作符瞬浓。如果沒(méi)有接受首選類(lèi)型的操作符初婆,則保留所有候選。如果只剩下一個(gè)候選項(xiàng)猿棉,則用之磅叛,否則繼續(xù)下一步。

d. 如果有任何輸入?yún)?shù)是unknown類(lèi)型萨赁,檢查剩余的候選操作符對(duì)應(yīng)參數(shù)位置的類(lèi)型范疇弊琴。 在每一個(gè)能夠接受字符串類(lèi)型范疇的位置使用 string類(lèi)型(這種對(duì)字符串的偏愛(ài)是合適的, 因?yàn)?unknown 文本確實(shí)像字符串)杖爽。另外敲董,如果所有剩下的候選操作符都接受相同的類(lèi)型范疇, 則選擇該類(lèi)型范疇慰安,否則拋出一個(gè)錯(cuò)誤(因?yàn)樵跊](méi)有更多線索的條件下無(wú)法作出正確的選擇)腋寨。然后, 如果任意候選操作符在某個(gè)給定的參數(shù)位置接受一個(gè)首選類(lèi)型泻帮, 則拋棄那些在該參數(shù)位置接受非首選類(lèi)型的候選操作符精置。

  1. 如果只有一個(gè)操作符符合,那么使用它锣杂。否則脂倦,產(chǎn)生一個(gè)錯(cuò)誤。

下面是一些例子元莫。

例.階乘操作符類(lèi)型解析

在系統(tǒng)表中里只有一個(gè)階乘操作符赖阻,它以double precision類(lèi)型作為參數(shù)。掃描器給下面查詢(xún)表達(dá)式的參數(shù)賦予integer的初始類(lèi)型:

SELECT 2 ^ 3 AS "exp";exp-----8(1 row)

分析器對(duì)參數(shù)做類(lèi)型轉(zhuǎn)換踱蠢,查詢(xún)等效于:

SELECT CAST(2 AS double precision) ^ CAST(3 AS double precision) AS "exp";

例.字符串連接操作符類(lèi)型分析

一種字符串風(fēng)格的語(yǔ)法既可以用于字符串也可以用于復(fù)雜的擴(kuò)展類(lèi)型火欧。 未聲明類(lèi)型的字符串將被所有可能的候選操作符匹配棋电。

有一個(gè)未聲明的參數(shù)的例子:

SELECT text 'abc' || 'def' AS "text and unknown";text and unknown------------------abcdef(1 row)

本例中分析器尋找兩個(gè)參數(shù)都是text的操作符, 因此第二個(gè)參數(shù)就被認(rèn)為是text類(lèi)型苇侵。

下面是連接兩個(gè)未聲明類(lèi)型的值:

SELECT 'abc' || 'def' AS "unspecified";unspecified-------------abcdef(1 row)

因?yàn)椴樵?xún)中沒(méi)有聲明任何類(lèi)型赶盔,所以本例中對(duì)類(lèi)型沒(méi)有任何初始提示,因此,分析器查找所有候選操作符榆浓,發(fā)現(xiàn)既存在接受字符串類(lèi)型范疇的操作符也存在接受位串類(lèi)型范疇的操作符于未。因?yàn)樽址?lèi)型范疇是首選,所以選擇字符串類(lèi)型范疇的首選類(lèi)型text 作為解析未知類(lèi)型文本的聲明類(lèi)型陡鹃。

例.絕對(duì)值和取反操作符類(lèi)型分析

OushuDB 操作符表里面有幾條記錄對(duì)應(yīng)于前綴操作符@烘浦, 它們都用于為各種數(shù)值類(lèi)型實(shí)現(xiàn)絕對(duì)值操作。其中之一用于float8類(lèi)型萍鲸, 它是數(shù)值類(lèi)型范疇中的首選類(lèi)型闷叉。因此,在面對(duì)非數(shù)值輸入的時(shí)候脊阴,OushuDB 會(huì)使用該類(lèi)型:

SELECT @ '-4.5' AS "abs";abs-----4.5(1 row)

此處握侧,系統(tǒng)在應(yīng)用選定的操作符之前隱式的轉(zhuǎn)換text類(lèi)型為float8類(lèi)型。 我們可以驗(yàn)證它是float8而不是其它類(lèi)型:

SELECT @ '-4.5e500' AS "abs";ERROR: "-4.5e500" is out of range for type double precision

另一方面蹬叭,前綴操作符~(按位取反)只為整數(shù)數(shù)據(jù)類(lèi)型定義藕咏, 而不為float8定義。因此秽五,如果我們用~做類(lèi)似的實(shí)驗(yàn)將得到:

SELECT ~ '20' AS "negation";ERROR: operator is not unique: ~ "unknown"HINT: Could not choose a best candidate operator. You may need to add explicit type casts.

這是因?yàn)橄到y(tǒng)無(wú)法決定幾個(gè)可能的~操作符中究竟應(yīng)該使用哪一個(gè)孽查。 我們可以用明確地類(lèi)型轉(zhuǎn)換來(lái)幫它:

SELECT ~ CAST('20' AS int8) AS "negation";negation-----------21(1 row)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市坦喘,隨后出現(xiàn)的幾起案子盲再,更是在濱河造成了極大的恐慌,老刑警劉巖瓣铣,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件答朋,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡棠笑,警方通過(guò)查閱死者的電腦和手機(jī)梦碗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)蓖救,“玉大人洪规,你說(shuō)我怎么就攤上這事⊙啵” “怎么了斩例?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)从橘。 經(jīng)常有香客問(wèn)我念赶,道長(zhǎng)础钠,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任叉谜,我火速辦了婚禮旗吁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘停局。我一直安慰自己阵漏,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布翻具。 她就那樣靜靜地躺著,像睡著了一般回还。 火紅的嫁衣襯著肌膚如雪裆泳。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,337評(píng)論 1 310
  • 那天柠硕,我揣著相機(jī)與錄音工禾,去河邊找鬼。 笑死蝗柔,一個(gè)胖子當(dāng)著我的面吹牛闻葵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播癣丧,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼槽畔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了胁编?” 一聲冷哼從身側(cè)響起厢钧,我...
    開(kāi)封第一講書(shū)人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嬉橙,沒(méi)想到半個(gè)月后早直,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡市框,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年霞扬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片枫振。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡喻圃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蒋得,到底是詐尸還是另有隱情级及,我是刑警寧澤,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布额衙,位于F島的核電站饮焦,受9級(jí)特大地震影響怕吴,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜县踢,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一转绷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧硼啤,春花似錦议经、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至嗓袱,卻和暖如春籍救,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背渠抹。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工蝙昙, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人梧却。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓奇颠,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親放航。 傳聞我的和親對(duì)象是個(gè)殘疾皇子烈拒,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容